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関数は使えますか?
はい、利用可能です。