式で選択されたデータセット内の行(式が指定されていない場合はデータセット内のすべての行)の中から、指定された列で見つかった最大値が含まれる行のキー(Ref
値)を返します。
使用例
MAXROW("商品", "割引")
は、商品
データセットに含まれる行の中から、割引
列に最大値がある行(つまり、割引が最大の商品)のキー値を返します。これは MAXROW("商品", "割引", TRUE)
と同等です。
MAXROW("MyTable", "_ROWNUMBER")
は、MyTable
データセットに含まれる行の中から、_ROWNUMBER
列に最大値がある行(つまり、最後に追加された行)のキー値を返します。
MAXROW("学生", "GPA", ([クラス] = "2018"))
は、2018 年のクラスで GPA が最も高い(1 人の)学生に該当する行を返します。
MAXROW("販売", "成約日", ([年] = "マドリッド"))
は、マドリッドで行われた最も新しい日付の販売に該当する行を返します。
MAXROW("イベント", "日付", ([日付] < [_THISROW].[日付]))
は、直近の前回イベントに該当する行を返します。
MAXROW("イベント", "日付", ([日付] < DATE("1/1/" & YEAR(TODAY()))))
は、今年より前に実施された直近のイベントに該当する行を返します。関連情報: DATE()
、TODAY()
、YEAR()
MAXROW("MyTable", "SomeColumn", FALSE)
: select-row?
式から常に FALSE が返されるため、検索からすべての行を除外した空白の値を返します。
一般的な問題
MAXROW(Events, Date)
のようにすると、「Expression [...] could not be parsed due to exception: #VALUE!
」というエラーが発生します。この例では、列名の Date
が AppSheet 内部で意味を持つため、混乱が生じます。AppSheet または Excel の関数名と同じデータセット名を使用すると、この問題が生じる可能性があります。修正するには、問題となっている名前を引用符で囲んで MAXROW(Events, "Date")
とします。
MAXROW("イベント", "日付", ([開催地] = [目的の開催地]))
を使用すると、「Unable to find column [...]
」というエラーが発生します。select-row?
式内の列参照(たとえば、[開催地]
)が、データセットの検索時に対象となる行を参照するからです。対象となる行の外部にある列にアクセスするには(列の制約、アプリの数式、初期値、または書式ルールの内部から MAXROW()
を使用する場合など)、_THISROW
を使用して外部列を参照します(例: MAXROW("イベント", "日付", ([開催地] = [_THISROW].[目的の開催地]))
)。
構文
MAXROW(データセット, 列, [select-row?])
データセット
- 検索対象のテーブルまたはスライス(「データセット」)の名前を、リテラルText
値(引用符付きか引用符なし)で指定します。式にすることはできません。列
- 指定のデータセット内で最大値を検索する列の名前を、リテラルText
値(引用符付きか引用符なし)で指定します。式にすることはできません。select-row?
- データセットの各行で評価され、TRUE
またはFALSE
を返すYes/No
式(省略可能)。最大値の検索にその行を含める必要がある(TRUE
)か、除外する必要がある(FALSE
)かを示します。式が指定されていない場合は、データセットのすべての行が検索されます(式TRUE
と同等)。
注意事項
列の最大値が複数の行で検出された場合、最大値を持ついずれかの行がランダムに選択されます。
関連情報