[IF関数]条件によって表示する値を変える
IF関数は、設定した条件式の結果に応じて、返す値を変更します。
IF関数の構文
IF(条件式, 真の場合に返す値, 偽の場合に返す値)
IF関数には、引数として「条件式」、「真の場合に返す値」、「偽の場合に返す値」を指定します。
IF関数は、複数の関数や計算式を階層構造(入れ子)で記載できます。長い計算式は、改行やインデントを使って見やすく表示できます。
条件式で使用できる演算子
「条件式」の引数には、フィールドコードや値と、比較演算子を組み合わせた条件式を指定できます。
条件式では以下の演算子が利用できます。
- =
- !=
- <>
- <
- <=
- >
- >=
数値型のフィールド(数値フィールドなど)を比較する場合は、上記の演算子がすべて利用できます。
文字列型のフィールド(文字列(1行)フィールドなど)を比較する場合は、「=」「!=」「<>」のみが利用できます。文字列型では、「等しいかどうか」の比較だけが可能です。
フィールドのデータ型については、「フィールドのデータ型」を参照してください。
返す値の書き方
「真の場合に返す値」および「偽の場合に返す値」には、数値型、文字列型、論理型の結果を返す計算式または値を指定します。
文字列を直接指定する場合はダブルクォーテーション(")で囲みます。
IF(宿泊="あり", "出張申請が必要です", "出張申請は不要です")
計算結果に文字列を表示する場合、計算式は文字列(1行)フィールドに設定します。
返す値を空欄にする場合
返す値を空欄にする場合、「""」と記入します。
次の例は、「個数」フィールドが0の場合に、空欄を表示する計算式です。「個数」フィールドが0ではない場合は、「個数」フィールドと「単価」フィールドを乗算した結果を表示します。
IF(個数=0, "", 単価*個数)
計算対象のフィールドが未入力かどうかを条件に指定する場合
計算対象のフィールドが未入力かどうかを条件に指定する場合、計算式に空文字列("")を指定します。
たとえば、「数値フィールド=""」と指定すると、数値フィールドが未入力のときは真、「0」が入力されているときは偽となります。
次の例は、「個数」フィールドが未入力の場合に、「未入力」と表示する計算式です。「個数」フィールドが入力されている場合は、「個数」フィールドと「単価」フィールドを乗算した結果を表示します。
IF(個数="", "未入力", 単価*個数)
計算結果に文字列を表示する場合、計算式は文字列(1行)フィールドに設定します。
ほかの関数との組み合わせ
IF関数は、CONTAINS関数やAND、OR、NOT関数を組み合わせることで、より詳細な条件式を設定できます。
詳しくは、各関数のページを参照してください。
計算対象のフィールドが未入力の場合の計算結果
数値型フィールドが参照されていて未入力の場合は、「0」とみなされて計算されます。 文字型フィールドが参照されていて未入力の場合は、空文字列("")とみなされて計算されます。
計算式の例
計算式でフィールドを指定する場合は、引数としてフィールド名ではなくフィールドコードを指定してください。
次の例では、フィールド名とフィールドコードをすべて一致させています。
合計が80点以上の場合に「OK」を表示する計算式
次の例は、「合計」フィールドが80点以上の場合には「OK」を表示、80点未満の場合は「NG」を表示する計算式です。
IF(合計>=80,"OK","NG")
計算式は、文字列(1行)フィールドに設定します。文字列(1行)フィールドを配置し、「自動計算する」にチェックを付けて計算式を入力します。
合計金額が指定した金額以上の場合に15%引きの価格を表示する計算式
次の例は、「合計金額」フィールドが1,000円以上であれば15%引きの価格を表示、1,000円未満であればそのままの合計金額を表示する計算式です。
IF(合計金額>=1000, 合計金額*0.85, 合計金額)
チェック状況に応じて異なる料金を表示する計算式
次の例は、「朝食」フィールドで「あり」が選択されていたら宿泊費9,000円、「なし」が選択されていたら宿泊費7,000円を表示する計算式です。
IF(朝食="あり", 9000, 7000)
「朝食」フィールドはドロップダウンフィールドまたはラジオボタンフィールドにします。
ドロップダウンまたはラジオボタンを条件に指定する場合は、項目名をダブルクォーテーション(")で囲んで指定します。
「0」が入力された場合と1以上の数値が入力された場合で計算を変える計算式
次の例は、「予算」フィールドと「実績」フィールドをもとに、予算比を計算する計算式です。
「予算」フィールドが「0」であればフィールドを空欄にし、「0」より大きい数であれば「予算比」を計算します。
IF(予算>0, (実績/予算)*100, "")
予算比を出す割り算「実績/予算」だけを計算式に書くと、予算が「0」のときに分母が「0」になりエラーとなります。そのため、この計算式ではIF関数を使用して、予算が「0」の時には計算しないように場合分けしています。
目標値を達成しているかどうかを判定する計算式
次の例は、「合計」フィールドが「目標値」フィールド以上であれば「達成」を表示、「合計」フィールドが「目標値」フィールドを下回っている場合は「未達」を表示する計算式です。
IF(合計>=目標値,"達成","未達")
計算式は、文字列(1行)フィールドに設定します。文字列(1行)フィールドを配置し、「自動計算する」にチェックを付けて計算式を入力します。
採点結果を表示する計算式
次の例は、試験の点数が100点であれば満点、80点以上であれば合格、そうでなければ不合格と表示する計算式です。
IF(点数=100,"満点",IF(点数>=80,"合格","不合格"))
計算式は、文字列(1行)フィールドに設定します。文字列(1行)フィールドを配置し、「自動計算する」にチェックを付けて計算式を入力します。