AppSheet関数マニュアル【応用編】|SELECT / FILTER / LOOKUPの使い分けと実践テク

2025年4月15日火曜日

Appsheet

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関数備考
VLOOKUPLOOKUP / ANY(SELECT(...))キーでの一致ならLOOKUPが簡単
SUMIFSUM(SELECT(...))複数条件ならAND()で組合せ
COUNTIFCOUNT(FILTER(...))件数取得はFILTERが最速
LEFT, RIGHT, MID同名テキスト操作関数はほぼ同等

まとめ

AppSheetの関数は、基本操作に加えてデータ取得・自動化・UX設計の要にもなります。

SELECTやFILTERの使い分け、LOOKUPの省略記法、ネスト回避などを意識することで、パフォーマンスと保守性の高いアプリが実現できます。

AppSheet公式関数ドキュメント もあわせて活用してください。

ご質問はこちら他の記事を見る

前の記事へ戻る