本記事はノーコードアプリ開発について全く知らなかった管理人が独学で勉強し、ここ大事!と感じた部分を記事にまとめています。
本ブログでは新UI画面で内容をまとめています。
新旧画面への切り替えは、下図を参考に該当アイコンをクリックしてください(^^)
![新UI画面の説明](https://www.free-biblio.com/wp-content/plugins/lazy-load/images/1x1.trans.gif)
まずはじめに
- SELECT()関数の基本を学びたい
- SELECT()関数が使えるようになりたい
- SELECT()関数を構成する基本の形
- SELECT()関数が要求するリストとフィルター条件式の引数
SELECT()関数は、AppSheetにおいて最頻出とも言える関数です。
関数の中にフィルター条件式をセットすることが出来るため、自分が抽出したい条件でリストの返り値を取得することが可能です。
本記事では、SELECT()関数の基本から条件式の応用まで一通りまとめました。
SELECT()関数は脱初心者のための最初の壁になりますので、本記事を読み込んでぜひ使い方をマスターしてください!
それでは勉強していきましょう(^^)
SELECT()関数の基礎
SELECT()関数の基本中の基本である関数に送る引数についてまずは説明をします。
SELECT()関数の基本形は、SELECT(from-dataset-column, select-row?[,distinct-only?])です。
なるほど、分からん!日本語で頼む!!
という読者のためにもっと分かりやすく書くと
第三引数については、あってもなくてもどちらでも構いません。(基本は考えなくてOK!)
つまり、SELECT()関数において大事なのは第一引数と第二引数になります。
第一引数にリスト、第二引数にYes/Noで答えられる条件式を入れてあげます(^^)
![select関数のイメージ](https://www.free-biblio.com/wp-content/plugins/lazy-load/images/1x1.trans.gif)
これだけ見てもイメージがつきにくいので、ダミーデータを用いて検証してみましょう!
第一引数:テーブル名[カラム値]
![リスト構文の作り方](https://www.free-biblio.com/wp-content/plugins/lazy-load/images/1x1.trans.gif)
例えば、このようなデータシートがある場合
登録案件[申請者]
とした場合の返り値は、aaa@gmail.com,aaa@gmail.com,bbb@gmail.comです。
![](https://www.free-biblio.com/wp-content/plugins/lazy-load/images/1x1.trans.gif)
リストの概念について別の記事でまとめています
AppSheetで重要なリストの作成方法や関数についてまとめています(^^)
【永久保存版】AppSheetで覚えておくべきList関数
第二引数:フィルター条件式
第二引数のフィルター条件式には、入力した条件式がYes/Noで返ってくる必要があります。
- [カラム値]=”特定の値”
- IN()関数などの関数の返り値がYes/Noのタイプであるもの
このあたりが定番の条件式になります。
- 等号・不等号でカラムの値が〇〇と等しいまたは等しくない
- 〇〇という文字列が対象リストに含まれているか否か
このようなイメージを持ってもらえればいいです(^^)
![](https://www.free-biblio.com/wp-content/plugins/lazy-load/images/1x1.trans.gif)
入力した条件式がYes/Noで取得できる記事についてまとめています
Yes/Noを返す条件式が求められる箇所や関数についてまとめました(^^)
【永久保存版】AppSheetで覚えておくべきYes/No関数
![フィルター条件式の例](https://www.free-biblio.com/wp-content/plugins/lazy-load/images/1x1.trans.gif)
このようなデータシートがある場合で考えてみましょう。
SELECT(登録案件[申請者],[ステータス] = “申請中“)
この場合の返り値は、aaa@gmail.com,aaa@gmail.comです。
第三引数:重複Yes/No
この第三引数は省略することも可能です。
入力しない場合はFALSEと同じ扱いになります。
関数の入力値 | 返り値 |
---|---|
SELECT(登録案件[申請者],[ステータス] = “申請中“,FALSE) | aaa@gmail.com,aaa@gmail.com |
SELECT(登録案件[申請者],[ステータス] = “申請中”,TRUE) | aaa@gmail.com |
要するに返ってくるリストの値について重複を許すか許さないか?
を決めるための引数だと思ってください。
重複Yes/Noは意識しなくても全く問題ありません。(省略で問題なし)
SELECT()関数の応用
SELECT()関数の基本がわかると気づくことがあります。
それは、SELECT()関数の応用が効く部分は、フィルター条件式しかありません
![select関数の応用](https://www.free-biblio.com/wp-content/plugins/lazy-load/images/1x1.trans.gif)
SELECT()関数の応用と言っても送る引数は同じです。
第一引数に検索対象となるリストを送り、第二引数にそのリストで検索したいフィルター条件式を入れるだけです。
それではダミーデータを用いて検証してみましょう!
![select()関数の検証データ](https://www.free-biblio.com/wp-content/plugins/lazy-load/images/1x1.trans.gif)
名前、性別、年齢、血液型のカラムを用意します。
試しに入力したselect()関数の返り値を表にまとめました。
関数の入力値 | 返り値 |
---|---|
SELECT(検証[名前],TRUE) | Aさん,Bさん,Cさん,Dさん,Eさん,Fさん,Gさん,Hさん |
SELECT(検証[名前],[性別] = “男性”) | Aさん,Cさん,Eさん,Gさん |
SELECT(検証[名前],or([性別] = “男性”,[血液型] = “O”)) | Aさん,Cさん,Eさん,Fさん,Gさん |
SELECT(検証[名前],[年齢]>=35) | Eさん,Fさん,Gさん,Hさん |
SELECT(検証[名前],AND([年齢]>=35,[性別] = “女性”)) | Fさん,Hさん |
フィルター条件式にTRUEと入力したら返り値はリストのデータ全てが返ってきます。
つまりテーブル名[カラム値]と同じ値です。
まとめ
以上、SELECT()関数の使い方についての記事でした。
SELECT()関数は、AppSheetでアプリ開発をすると使わないアプリはないくらいによく使います。
もう一度おさらいです。
SELECT(テーブル名[カラム値], フィルター条件式, [重複Yes/No])の形をとり
第一引数にリスト型のデータ、第二引数にフィルター条件式、第三引数にTrueもしくはFalseを入力します。
この基本さえ覚えておけば、使っているうちに何となく理解が出来るようになると思います。
ゆっくりでもいいから着実に知識を身につけていきましょう!
記事内容について何かありましたらページ下にあるコメント欄からコメントをお願いします。
わかりにくかった部分や間違った情報などご指摘いただけると嬉しいです!
勉強お疲れさまでした(^^)
![](https://www.free-biblio.com/wp-content/plugins/lazy-load/images/1x1.trans.gif)
この記事で説明しきれなかったSELECT()関数の応用をまとめた記事です
直前に選んだ選択肢によって、あとに続く選択肢を変化・制限する設定を知りたい人におすすめ(^^)
【脱初心者!】SELECT()関数で依存型ドロップダウンリストを作成する方法
とてもわかりやすい!たすかりました!
コメントありがとうございます!
select()関数は非常によく使う関数なので、なるべく分かりやすくまとめたつもりです。
勉強教材としてこの記事を活用してくれたら嬉しいです(^^)