[IF関数]条件によって表示する値を変える

計算式にIF関数を設定できます。IF関数とは、設定した条件式にしたがって、表示する値を変化させる関数です。

IF(条件式,真の場合,偽の場合)

[条件式]が真であれば[真の場合]の値を返し、偽であれば[偽の場合]の値を返します。

条件式の書きかた

条件式:合計>=80

条件として判断したいフィールドコードや値を、比較演算子を用いて比べます。

1つのフィールドの入力内容に応じて分岐する( 1 )
例:IF(合計>=80,"OK","NG")

「合計>=80」が条件式です。フィールドコード(合計)、比較演算子(>=)、値(80)の順番で記述します。
「合計」フィールドの値が80以上であればOK、そうでなければNGを表示します。
  • フィールドコード:計算式から参照するフィールドのフィールドコードを記述します。
  • 比較演算子:
    • 数値型のフィールド(数値フィールドなど)を比較する場合は、「=, !=, <>, <, >, <=, >=」の比較演算子が利用できます。
    • 文字列型のフィールド(文字列(1行)フィールドなど)を比較する場合は、「=, !=, <>」のみが利用できます。
    • 数値型/文字列型など、フィールドの型については計算式で参照する値のデータ型を参照してください。
      比較演算子の詳細については、演算子と関数の一覧の「=, !=, <>, <, >, <=, >=」を参照してください。 
  • 値:数値の場合はそのまま記載し、文字列の場合は「""(ダブルクォーテーション)」で囲みます。
1つのフィールドの入力内容に応じて分岐する( 2 )
例:IF(CONTAINS(出勤曜日, "日曜日"), "日曜出勤あり", "日曜出勤なし")

「CONTAINS(出勤曜日, "日曜日")」が条件式です。出勤曜日フィールドの日曜日が選択されていれば「日曜出勤あり」、選択されていなければ「日曜出勤なし」と表示します。

IF関数の条件式内でチェックボックスや複数選択を参照する場合、CONTAINS関数を使用します。
条件式に「等しい」場合を記述するとき、「1つのフィールドの入力内容に応じて分岐する( 1 )」の場合は「=」を使用しますが、チェックボックスや複数選択では「=」の代わりに「,」を使用します。
CONTAINS関数の詳細は次のページで説明しています。

複数のフィールドを指定して分岐する
例:IF(AND(学科>=80,実技>=80),"OK","NG")

「AND(学科>=80,実技>=80)」が条件式です。「学科」フィールドと「実技」フィールドが80以上であればOK、そうでなければNGを表示します。

IF関数では、複数のフィールドを指定した条件式を記述できます。
AND関数やOR関数を使って、条件式を「,」でつなぎます。
利用できる比較演算子は「1つのフィールドの入力内容に応じて分岐する( 1 )」と同じです。

AND関数やOR関数の詳細は[AND、OR、NOT関数]条件の組み合わせで説明しています。

条件式を使った計算式の例

条件式の例を使った計算式の例を紹介します。

仕切り価格の計算式:IF(合計金額>=1000, 合計金額*0.85, 合計金額)

合計金額が千円以上であれば15%引きの価格を表示、千円未満であればそのままの合計金額を表示します。
宿泊費の計算式:IF(朝食="あり", 9000, 7000)

朝食ありなら宿泊費9,000円、朝食なしなら宿泊費7,000円を表示します。
「朝食」はドロップダウンフィールドまたはラジオボタンフィールドで、「あり」が選択されているかどうかを判定しています。ドロップダウンまたはラジオボタンを条件に指定する際は、項目名を""(ダブルクォーテーション)で囲んで指定します。
予算比の計算式:IF(予算>0, (実績/予算)*100, "")

予算が「0」であれば「予算比」を空白にします。予算が「0」ではない場合は「予算比」を計算します。分母が「0」になる場合があるため、IF関数を使用して場合分けを行います。
採点の計算式:IF(点数>=80, "合格", "不合格")

試験の点数が80点以上であれば合格、そうでなければ不合格と表示されます。結果が文字列のため、文字列(1行)フィールドに計算式を設定します。
採点の計算式:IF(点数=100,"満点",IF(点数>=80,"合格","不合格"))

IF関数はネスト(入れ子)が可能です。試験の点数が100点であれば満点、80点以上であれば合格、そうでなければ不合格と表示されます。結果が文字列のため、文字列(1行)フィールドに計算式を設定します。

TIPS:未入力のフィールドの扱い

計算対象に未入力の項目があっても、「0」や「""」とみなされて計算されます。

  • 「数値フィールド=0」と指定すると、数値フィールドに「0」が入力されているときだけではなく、数値フィールドが未入力のときも真になります。

  • 「数値フィールド=""」と指定すると、「未入力かどうか」という判定になります。「0」が入力されているときは偽、未入力のときは真、となります。

  • 「0」を表示する代わりに「何も表示しない(空欄)」とする方法
    計算結果を「""」としてください。

    • 例:IF(個数=0, "", 単価*個数)
      個数が0のときは、0と表示せずに空欄になります。個数が0ではないときは、掛け算した金額を表示します。

設定例:合計金額によって仕切り価格を変更する

注文管理アプリを例に、合計金額によって仕切り価格を変更する計算式の設定方法を説明します。

完成イメージ:

  1. 注文管理アプリのフォームの設定画面で、合計金額を表示するフィールド(計算フィールド)を配置します。
    フィールド名とフィールドコードは「合計金額」にします。
    合計金額フィールドの設定方法について、詳しくは[SUM関数]合計値の計算のページを参照してください。

  2. 画面左側のパーツ一覧から計算フィールドを配置します。

  3. フィールドの設定画面を開いて、フィールド名を「仕切り価格」に変更します。
    フィールドの設定画面は開いたままにします。

  4. 「合計金額が10万円以上であれば15%引きの価格を表示、10万円未満であれば合計金額を表示」とする計算式を入力します。

    • 計算式:IF(合計金額>=100000, 合計金額*0.85, 合計金額)
      合わせて、数値(例:1,000)を選択します
  5. 計算の設定画面の[保存]をクリックします。

  6. 画面左上の[フォームを保存]をクリックして、画面右上の[アプリを更新]をクリックします。

合計金額が10万円以上のとき、仕切り価格が15%引きで表示されるようになりました。

設定例:ラジオボタンの選択状況によって表示する値を変える

IF関数の条件式の中でドロップダウンフィールドやラジオボタンフィールドを参照できます。
「朝食ありなら9,000円、朝食なしなら7,000円」といったように、ラジオボタンの選択状況によって表示する値を変えることができます。

  • 計算式の例:IF(朝食="あり", 9000, 7000)