cellio

ExcelのIF関数の使い方|実務でそのまま使える具体例

ExcelのIF関数を初心者向けにわかりやすく解説。合否判定や予算管理、AND/OR関数との組み合わせまで、実務でそのままコピーして使える具体例を多数紹介します。

著者 Ayoub Farid · · 6 分で読めます

IF関数は、表計算ソフトで「条件分岐(条件に応じた処理の切り替え)」を行うための基本的な関数です。指定した条件をチェックし、それが成り立っている場合(真)と成り立っていない場合(偽)で、それぞれ異なる結果を返します。最も検索されているエクセル関数の一つであり、就職・転職のExcelスキルテストでも頻出の機能です。

基本構文

=IF(logical_test, value_if_true, value_if_false)
  • logical_test(論理式): B2>=5000 のように「はい」または「いいえ」で判定できる条件式
  • value_if_true(値が真の場合): 条件を満たしている場合に表示する値
  • value_if_false(値が偽の場合): 条件を満たしていない場合に表示する値

例1:目標達成か未達成かの判定

ABC
1月売上判定
21月4,200
32月5,600

セルC2に以下の数式を入力します。

=IF(B2>=5000,"Target hit","Below target")

オートフィルで下にコピーします。1月は「Below target(未達成)」、2月は「Target hit(達成)」と表示されます。

比較演算子一覧

演算子意味
=等しい
<>等しくない
> / <より大きい / より小さい(未満)
>= / <=以上 / 以下

文字列を条件に指定する場合はダブルクォーテーションで囲みます(例:=IF(C2="Paid","Done","Chase"))。なお、文字列の比較では大文字と小文字は区別されません。

例2:計算結果を返す

IF関数では、文字列だけでなく数値や計算式を返すことも可能です。たとえば、目標を超えた場合にのみ5%のボーナスを計算する場合は次のように入力します。

=IF(B2>=5000,B2*5%,0)

例3:セルを空白のままにする

=IF(B2="","",B2*C2)

価格がまだ入力されていないセルに「0」と表示させず、見た目を空白にしておきたい場合に便利です。

例4:2つの条件を組み合わせる

論理式の中にAND関数やOR関数を組み合わせます。

=IF(AND(B2>=5000,C2<3000),"Great month","OK")
=IF(OR(D2="Late",E2="Missing"),"Check","Fine")

詳しい使い方はANDとORの使い方をご覧ください。

3つ以上の結果に分岐させる場合

成績の「A」「B」「C」評価のように結果が3つ以上ある場合は、IF関数をネスト(入れ子)にするか、IFS関数を使用します。

=IF(B2>=90,"A",IF(B2>=80,"B","C"))
=IFS(B2>=90,"A",B2>=80,"B",TRUE,"C")

詳細はIF関数のネストおよびIFS関数の使い方をご確認ください。

よくあるミス

  • 文字列のダブルクォーテーション忘れ: =IF(C2=Paid,...) のように入力すると #NAME? エラーが発生します。
  • 数値をダブルクォーテーションで囲んでしまう: =IF(B2>"5000",...) と書くと数値ではなく文字列として比較され、予期せぬ判定結果になります。
  • ネストの条件の順序ミス: 複数の条件を並べる場合は、最も高い(厳しい)基準値から順に判定してください。
  • 基準値を数式に直接書き込む: 基準となる値(例: 5000)を特定のセルに入力し、数式内では $F$1 のように参照してください。後から基準値を1箇所変更するだけで全体に反映できます。詳しくは絶対参照の基本をご覧ください。

関連:条件に一致するセルをカウント・合計する

条件に一致する行を「数える」または「合計する」だけなら、すべての行にIF関数を入力する必要はありません。COUNTIF関数やSUMIF関数を活用しましょう。

IF関数の実践練習

Cellioでは、IF、AND、OR関数を実践できる新レッスン「Decisions(条件分岐)」を近日リリース予定です。公開までの間は、IF関数をオートフィルで下にコピーする際に欠かせない「参照」や「$(ドル記号)によるセル固定」が学べる既存ユニットをぜひご活用ください。

よくある質問

ExcelでIF関数の数式はどのように書きますか?

=IF(条件式, 真の場合の値, 偽の場合の値) の形式で記述します。例えば =IF(B2>=50,"Pass","Fail") のように使います。

IF関数で結果を空白セルにすることはできますか?

可能です。ダブルクォーテーションを2つ連続させて =IF(B2="","",B2*2) のように指定します。

ExcelではIF関数を何重までネストできますか?

仕様上は最大64個までネスト可能ですが、3つ以上重ねると数式が複雑になり可読性が下がります。IFS関数を使用するか、参照テーブルを活用することをおすすめします。

Googleスプレッドシートでも同じように使えますか?

はい。Googleスプレッドシートでもまったく同じ構文 =IF(条件式, 真の場合, 偽の場合) で動作します。

あわせて読みたい