AppSheet関数マニュアル【応用編】|SELECT / FILTER / LOOKUPの使い分けと実践テク
SELECTとFILTERの違いと使い分け
SELECT: 特定の列の値を条件に応じて抽出(値のリストが返る)
FILTER: 特定の行(キー)のリストを返す
// SELECTの例(経費明細の金額リストを取得)
SELECT(経費明細[金額], [経費ID] = [_THISROW].[ID])
// FILTERの例(自分のタスク行キーを取得)
FILTER("Tasks", [担当者] = USEREMAIL())
使い分け:
- 値を集計したい場合(SUM, AVERAGEなど) →
SELECT
- 行の参照やアクションの対象にしたい場合 →
FILTER
LOOKUP vs ANY(SELECT(...))
LOOKUP: 単一レコードの値取得に簡潔
ANY(SELECT(...)): 条件が複雑な場合に柔軟
// LOOKUP(商品IDに紐づく商品名)
LOOKUP([商品ID], "商品マスタ", "商品ID", "商品名")
// ANY(SELECT(...))の例
ANY(SELECT(商品マスタ[商品名], [商品ID] = [_THISROW].[商品ID]))
パフォーマンス向上の工夫
- 仮想列の数を減らす:必要な時だけ式を評価
- 重いSELECT/FILTERのネストを避ける
- Security Filterで不要なデータを除外
- Ref設定が済んでいるならREF_ROWSを使うと高速
Excel関数との比較
ExcelのVLOOKUPとAppSheetのLOOKUP:
Excel関数 | AppSheet関数 | 備考 |
---|---|---|
VLOOKUP | LOOKUP / ANY(SELECT(...)) | キーでの一致ならLOOKUPが簡単 |
SUMIF | SUM(SELECT(...)) | 複数条件ならAND()で組合せ |
COUNTIF | COUNT(FILTER(...)) | 件数取得はFILTERが最速 |
LEFT, RIGHT, MID | 同名 | テキスト操作関数はほぼ同等 |
まとめ
AppSheetの関数は、基本操作に加えてデータ取得・自動化・UX設計の要にもなります。
SELECTやFILTERの使い分け、LOOKUPの省略記法、ネスト回避などを意識することで、パフォーマンスと保守性の高いアプリが実現できます。
▶ AppSheet公式関数ドキュメント もあわせて活用してください。
⬅ 前の記事へ戻る
0 件のコメント:
コメントを投稿