SELECT関数とは
SELECT関数は、AppSheetで特定の条件に合致するデータを抽出するための非常に強力な関数です。基本的な構文は以下の通りです。
SELECT(テーブル名[列名], 条件式, [重複の有無])
引数の意味は次のとおりです。
テーブル名[列名]: データを抽出する元のテーブルと列を指定します。
条件式: どのデータを抽出するかを決定する条件を指定します。
重複の有無: オプションの引数で、重複を許可するかどうかを指定します。
SELECT関数の使用例
基本的な使用例:
SELECT(生徒[ファースト ネーム], TRUE, FALSE)
これは、生徒テーブルからすべての生徒のファーストネームを取得します(重複あり)。
条件付きの使用例:
SELECT(生徒[ファースト ネーム], ([クラス年度] = "2020"), FALSE)
これは、2020年度クラスの生徒のファーストネームのリストを返します。
動的フィルタリングの例:
SELECT(注文[注文 ID], ([顧客] = [_THISROW].[顧客]))
これは、現在の行の顧客に対応する注文IDを返します。
SELECT関数の特徴
リスト形式の結果: SELECT関数は、条件に合致する値をリスト(配列)形式で返します。
動的フィルタリング: [_THISROW]を使用することで、現在の行の値に基づいて動的にデータをフィルタリングできます。
重複の制御: 第3引数をTRUEに設定すると、重複する値を除外できます。
例1: 生徒データの抽出
生徒テーブルがあると仮定し、以下のようなデータがあるとします。
ID | 名前 | クラス | 年度 |
---|---|---|---|
1 | 田中 | A組 | 2024 |
2 | 佐藤 | B組 | 2024 |
3 | 鈴木 | A組 | 2023 |
4 | 高橋 | C組 | 2024 |
このデータに対して、2024年度の生徒の名前を抽出する場合。
SELECT(生徒[名前], [年度] = 2024)


結果:{“田中”, “佐藤”, “高橋”}
例2: 注文データの抽出
注文テーブルがあると仮定し、以下のようなデータがあるとします。
注文ID | 顧客名 | 商品 | 金額 |
---|---|---|---|
001 | 山田 | りんご | 1000 |
002 | 鈴木 | バナナ | 800 |
003 | 山田 | みかん | 1200 |
004 | 佐藤 | りんご | 1000 |
特定の顧客(例:山田さん)の注文IDを抽出する場合。
SELECT(注文[注文ID], [顧客名] = "山田")
結果:{“001”, “003”}
例3: 商品データの抽出
商品テーブルがあると仮定し、以下のようなデータがあるとします。
商品ID | 商品名 | カテゴリ | 価格 |
---|---|---|---|
P001 | りんご | 果物 | 100 |
P002 | バナナ | 果物 | 80 |
P003 | トマト | 野菜 | 150 |
P004 | キュウリ | 野菜 | 120 |
100円以上の商品名を重複なしで抽出する場合。
SELECT(商品[商品名], [価格] >= 100, TRUE)
結果:{“りんご”, “トマト”, “キュウリ”}
これらの例を参考に、実際のアプリケーションでSELECT関数を活用することができます。
データの構造や抽出条件に応じて、適切に関数を使用することで、必要なデータを効率的に取得できます。
注意点
- 条件式の中で列を参照する際は、検索先のデータセットの観点から解釈されることに注意が必要です。
- 複雑な条件や依存型のドロップダウンリストを作成する場合は、SELECT関数を応用的に使用できます。
まとめ
SELECT関数を適切に使用することで、AppSheetでのデータ操作がより効率的かつ柔軟になります。基本を理解し、実践を重ねることで、より高度なアプリケーション開発が可能になります。