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

記事番号:040505

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行)フィールドを配置し、「自動計算する」にチェックを付けて計算式を入力します。