管理人がみんなに伝えたい!!と思った知識や学びを気ままに書いています(^^)

【永久保存版】AppSheetで覚えておくべきIF()関数とIFS()関数

【永久保存版】 AppSheetで覚えておくべき IF()関数とIFS()関数

本記事はノーコードアプリ開発について全く知らなかった管理人が独学で勉強し、ここ大事!と感じた部分を記事にまとめています。

本ブログでは新UI画面で内容をまとめています。

新旧画面への切り替えは、下図を参考に該当アイコンをクリックしてください(^^)

新UI画面の説明

まずはじめに

本記事はこんな人におすすめ!!
  • AppSheetで入力されたデータによって条件分岐をしたい
本記事を読んで出来るようになること
  • IF()関数とIFS()関数を成立させる引数の渡し方が分かる
  • 入力データで分岐条件を持たせて返り値をコントロールすることが出来る

今回は、AppSheetでアプリを開発する上で非常に役立つ条件分岐を行う「Conditional関数」について深掘りしていきます。

条件分岐のイメージ
条件分岐のイメージ

「Conditional」とは文字通り「条件付きの」という意味。

つまり、特定の条件に基づいて異なる処理を行いたい場合に使う関数だと理解してください。

上図のようなシナリオを実現したい場合、AppSheetにおいては主にIF()関数とIFS()関数を知っておけば、まず問題ありません。

AppSheetには他にも条件分岐の関数が存在しますが、この2つをマスターすれば、ほとんどのケースでスムーズに対応できるようになります。

この記事では、IF()関数とIFS()関数の使い方から応用までを網羅し、皆さんのAppSheet学習の強力な教材となるよう仕上げました。

ぜひ最後までお読みいただき、条件分岐のスキルを完璧に習得してください(^^)

それでは勉強していきましょう!


Conditional関数とは?

conditional expressionとは

まずは、Conditional関数の定義から確認していきましょう。

Conditional関数とは、ある条件式を提示し、その条件を満たす(TRUE)か満たさない(FALSE)かによって、返す値や実行する処理を分岐させる関数のことを指します。

皆さんがアプリを使う立場だとして、ユーザーのデータ入力を補助してくれるようなアプリって、とても使いやすいと感じるのではないでしょうか?

まさに、「こんな時にこうしたいな」という小さな「条件分岐」の願いを叶えてくれるのが、このConditional関数です。

AppSheetでConditional関数をよく設定する箇所は、主に次の2つです。

カラム設定のValid If

一つ目は、各カラムの設定にあるValid If(有効な場合)です。

valid ifの画面

これはAppSheetに対して「このカラムに入力される値を制限しますか?」と問いかける設定だと考えてください。

例えば、ユーザーの権限レベルに応じて、入力できる選択肢のリストを動的に変更するといったユースケースで活躍します。

これにより、データの正確性を保ちながら、アプリのセキュリティや利便性を向上させることができます。

カラム設定のInitial Value

二つ目は、各カラムの設定にあるInitial Value(初期値)です。

Initial valueの画面

これはAppSheetに対して「このカラムにデフォルトで値を入力しますか?」と問いかける設定だと思ってください。

この項目に条件分岐を持たせることで、非常に効果的な入力補助が可能になります。

例えば、別のカラムに入力された値を条件として、自動的に適切な値を初期値として設定するといった使い方ができます。

これにより、ユーザーの入力の手間を省き、アプリの使いやすさを大きく向上させることが可能です。

それでは、いよいよその条件分岐を実装するための関数について、詳しく勉強していきましょう!


IF()関数

IF()関数は、最も基本的な条件分岐を行う関数です。

シンプルな条件に基づいて、二つの異なる結果のうちどちらかを返すことができます。

IF()関数の使い方

IF(condition, then-expression, else-expression)

if関数の使い方
  • condition (第一引数): ここに分岐の条件となる式を指定します。この条件式は、評価結果がTRUEFALSEになる必要があります。
  • then-expression (第二引数): condition(第一引数)で指定した条件がTRUE(満たされた)だった場合に返す値、または実行する指示を指定します。
  • else-expression (第三引数): condition(第一引数)で指定した条件がFALSE(満たされなかった)だった場合に返す値、または実行する指示を指定します。

このように、IF()関数には必ず3つの引数を渡してあげる必要があると覚えておきましょう。

私が試しにIF()関数に値を送った時の返り値を以下の表にまとめました。

関数の入力値返り値
IF(TRUE条件,”Yes”,”No”)Yes
IF(FALSE条件,”Yes”,”No”)No
IF(IN(USEREMAIL(),ユーザー[email]),LIST(社員),LIST())
※条件式をInitial Valueに入力した場合
emailが登録されている→社員が初期値で入力される
emailが登録されていない→空欄
IF(IN(USEREMAIL(),ユーザー[email]),LIST(A,B),LIST())
※条件式をValid ifに入力した場合
emailが登録されている→AかBの選択
emailが登録されていない→カラムが表示されない

同じIF()関数でも、入力する箇所(例えばValid ifとInitial Valueなど)によってアプリ内での挙動が変わるため、事前に必ず意図した動作をするかチェックするようにしましょう!

【重要】IF()関数の強力な応用:ネスト構造

IF()関数の最もパワフルな機能の一つとして、第三引数にさらにもう一度IF()関数を入力することが可能です。

これにより、まるで入れ子(ネスト)のように構造を持たせて、複数の条件分岐を行うことができます。

そして、最後のIF()関数の第三引数には、それまでのすべての条件分岐に当てはまらなかった場合の「それ以外(Else)」の値を指定できることも、この関数の大きな強みとなります。

これにより、複雑なロジックも段階的に記述し、より柔軟な条件設定が可能になります。

IF()関数の実用例を別の記事でまとめています

参考記事

IFS()関数

IFS()関数は、複数の条件式を順番に評価し、最初にTRUEとなった条件に対応する値を返す関数です。

IF()関数が2択の条件分岐だったのに対し、IFS()関数は3つ以上の多分岐処理に適しています。

IFS()関数の使い方

IFS(is-true?, then-do-this[, is-true?, then-do-this]...)

ifs関数の使い方
  • is-true? (第一引数、第三引数、以降奇数番目の引数): ここに条件式を指定します。
  • then-do-this (第二引数、第四引数、以降偶数番目の引数): 直前のis-true?で指定した条件がTRUE(満たされた)だった場合に返す値、または実行する指示を指定します。

IFS()関数の考え方:

  • 第一引数に分岐条件を提示
  • 第二引数にその分岐条件が満たされた時の指示
  • 第三引数に次の分岐条件を提示
  • 第四引数にその分岐条件が満たされた時の指示
  • (以降、同じパターンで条件と指示を繰り返す)

IF()関数と異なり、IFS()関数は「条件式がTRUEの時の指示」しか直接的に指定できません。

つまり、「この条件の時はこれ!」「こっちの条件の時はこれ!」というように、ひたすら条件と結果のペアを繋げていくイメージです。

IFS()関数の実用例をまとめています

参考記事

まとめ

今回は、AppSheetでアプリに高度なロジックを組み込むためのConditional関数(条件分岐)について解説しました。

「条件分岐」と聞くと、複雑で難解なものを想像するかもしれませんが、AppSheetでは、主にIF()関数とIFS()関数の2つの関数を使いこなせれば、ほとんどの条件分岐に対応できます。

これらの関数の基本さえしっかり押さえられれば、ユーザーの入力補助をスマートに行ったり、データに基づいて表示内容を切り替えたりと、複雑なアプリの作成が可能になります。

ぜひ今回の内容を参考に、AppSheetでのアプリ開発の幅を広げてみてください!

記事内容について何かありましたらページ下にあるコメント欄からコメントをお願いします。

わかりにくかった部分や間違った情報などご指摘いただけると嬉しいです!

勉強お疲れさまでした(^^)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA



reCaptcha の認証期間が終了しました。ページを再読み込みしてください。