ラベルラベル

条件分岐・論理入門

IF関数を見て理解する

1つの条件がTRUEかFALSEかによって、返す値を分ける関数です。

3つのポイント

  1. 条件を確認する
  2. TRUE / FALSEを判定する
  3. 判定に応じた値を返す
例題

点数が70点以上なら合格と判定する

サンプル数式

  • 条件
  • TRUEの場合
  • FALSEの場合

いまの結果:

合格
計算結果
結果セル:C2
入力・条件:3項目
  • 条件B2:85
  • TRUEの場合指定値:「合格」
  • FALSEの場合指定値:「不合格」
この結果になる理由

1番目の条件が選択されました。

サンプルデータ

点数を変えてみよう

※ Excel と Google スプレッドシートで結果や挙動が異なる場合、Excel の仕様を基準にしています。

「点数が70点以上なら合格と判定する」のサンプルデータ。引数番号は正式引数と教材要素の対応、小さな角丸数字は処理順を表します。
ABC
1名前点数判定
2田中合格
条件結果セル
① 正式引数 / 教材要素1–5 処理の流れ

B2に値を入力すると、結果と処理順が変わります。

3つの引数

色付きの丸数字は、サンプル数式と引数ガイドで同じ引数を示しています。表にも同じ番号があれば、その引数で指定しているセルを示します。

  1. B2>=70表のセル: B2

    B2の点数が70以上かどうかを判定します。

  2. "合格"指定値

    条件を満たしたときに返す値です。

  3. "不合格"指定値

    条件を満たさなかったときに返す値です。

この数式を日本語にすると

B2の85が70以上かを判定し、条件を満たすので「合格」をC2に表示します。

この説明は、最初に表示されているサンプルデータをもとにしています。入力値を変更しても説明文は変わりません。

処理の流れ

手順1〜5を順番に確認しましょう。表内の小さな角丸数字は、対応する手順を示します。

  1. 判定する値を確認する

    B2

    B2の85を読み取ります。

  2. 条件を確認する

    B2

    85が70以上か判定します。

  3. TRUE / FALSEを判定する

    B2

    85>=70なのでTRUEです。

  4. 返す値を選ぶ

    TRUEの場合の「合格」を選びます。

  5. 結果を表示する

    C2

    C2に「合格」を表示します。

対応アプリ

  • Excel
  • Google スプレッドシート

関数自体が対応するアプリです。教材例の数式や再計算が、両アプリで同じように動くことを保証するものではありません。

この例の注意点

  • IFは条件がTRUEかFALSEかで返す値を分けます。
  • この例では70点以上を合格としています。
  • 第2引数はTRUEの場合、第3引数はFALSEの場合に返す値です。
  • この教材ではシンプルな数値比較を扱います。

一般構文

対応:Excel / Google スプレッドシート ・ 構文:構文差あり

  • Google公式構文のvalue_if_falseには[]がありませんが、本文では省略時の扱いが説明されています。
  • 第3引数を省略した場合、ExcelはFALSE、Google スプレッドシートは空白を返します。
  • 論理式に式から生成した空文字列を直接渡したケースでは、Excelは#VALUE!、Google スプレッドシートはFALSEとしてFALSE側の値を返します。

Excel

=IF(logical_test, value_if_true, [value_if_false])

[] は省略できる引数です。

省略時

value_if_false
→ FALSE省略すると、logical_testがFALSEの場合はFALSEを返す

Google スプレッドシート

=IF(logical_expression, value_if_true, value_if_false)

[] がない引数も、公式本文で省略時の扱いが説明されている場合があります。

省略時

value_if_false
省略すると、logical_expressionがFALSEの場合は空白を返します。
公式資料・確認範囲

公式資料

実機確認

  • Excel 2021 / Google スプレッドシート計算結果・入力の扱い・エラーを確認済み

未確認

配列展開

次に学ぶ関数

IFS

1つの条件で分ける次は、複数の条件を順に判定します。

次に学ぶ