cellio

GoogleスプレッドシートのIF関数の使い方|基本から応用まで解説

GoogleスプレッドシートでのIF関数の使い方を徹底解説。数値やテキストの判定、空白処理、AND/ORによる複数条件、IFS関数、ARRAYFORMULAによる列全体への適用まで具体例付きで紹介します。

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

IF関数は、Excelと同様にGoogleスプレッドシートでも同じ仕組みで動作します。条件を指定して判定を行い、真(TRUE)の場合と偽(FALSE)の場合でそれぞれ異なる値を返します。

構文

=IF(logical_expression, value_if_true, value_if_false)

使用例

=IF(B2>=50,"Pass","Fail")
=IF(C2="Paid","✓","Chase")
=IF(B2="","",B2*1.2)
=IF(B2>C2,B2-C2,0)

複数条件の判定

=IF(AND(B2>=50,C2="Submitted"),"Pass","Fail")
=IF(OR(D2="Late",E2="Missing"),"Review","OK")

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

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

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

また、IF関数をネスト(入れ子)にする方法や、完全一致の条件にはSWITCH関数を使う方法もあります。詳しくはIFS関数やネストしたIF関数の記事をご確認ください。

1つの数式で列全体に適用する

オートフィルで下にコピーする代わりに、Googleスプレッドシートではすべての行に一括でIF関数を適用できます。

=ARRAYFORMULA(IF(B2:B="","",IF(B2:B>=50,"Pass","Fail")))

外側のIF関数により、空白行には何も表示されないよう処理しています。詳しくはARRAYFORMULA関数をご覧ください。

チェックボックスとの連携

「挿入」>「チェックボックス」を設定すると、セルにTRUE/FALSEが割り当てられるため、IF関数との相性が抜群です。

=IF(A2,"Done","To do")

よくあるミス

  • 文字列をダブルクォーテーションで囲んでいない → #NAME? エラーになります
  • 数値をダブルクォーテーションで囲んでいる(IF関数内で ">50" と書くと文字列として比較されてしまいます) → B2>50 のように記述します
  • ネストしたIF関数の順番ミス → 最も厳しい条件から順に判定してください

詳しい解説はIF関数の基本ガイドをご覧ください。

よくある質問

GoogleスプレッドシートでIF関数はどう書きますか?

=IF(条件式,"真の場合の値","偽の場合の値") のように記述します。

複数の条件をIF関数で使うにはどうすればよいですか?

AND関数やOR関数と組み合わせるか、IF関数をネスト(入れ子)にする、あるいはIFS関数を使用します。

列全体にIF関数を適用するにはどうすればよいですか?

B2:B のような終点を指定しないセル範囲を使い、ARRAYFORMULA関数で囲みます。

GoogleスプレッドシートでもIFS関数は使えますか?

はい、利用可能です。

あわせて読みたい