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関数を活用することができます。

データの構造や抽出条件に応じて、適切に関数を使用することで、必要なデータを効率的に取得できます。