Sheet基本
IF・IFS・IFERROR 完全ガイド
IF・IFS・IFERROR 完全ガイド
条件分岐と堅牢なエラー処理の設計
スプレッドシートで「条件によって処理を変える」すべての場面で使う。IFの基本から、IFSによる多分岐、IFERRORによるエラー処理設計まで一気に解説する。
GASとの関係:if文・try-catchと完全に対応する
スプレッドシートのIF→GASのif文、IFERROR→GASのtry-catchは1対1で対応します。関数で条件分岐とエラー処理の考え方を身につけると、GASのコードが書きやすくなります。
GASで自動化を学ぶ →目次
IF関数
=IF(条件, 真の場合, 偽の場合)
// 売上が50000以上なら「達成」、未満なら「未達」
=IF(C2>=50000, "達成", "未達")
// 空白チェック(空なら空白、値があれば処理)
=IF(A2="", "", VLOOKUP(A2, マスター!A:C, 2, FALSE))
IFのネスト(2段階の条件)
// 80以上→A、60以上→B、それ以外→C
=IF(C2>=80, "A", IF(C2>=60, "B", "C"))
ネストが3段以上になる場合はIFSを使う方が読みやすくなります。
IFS関数(多分岐の定番)
=IFS(条件1, 値1, 条件2, 値2, ..., TRUE, デフォルト値)
// 複数ランク分けをIFのネストなしで書ける
=IFS(
C2>=80, "Sランク",
C2>=60, "Aランク",
C2>=40, "Bランク",
TRUE, "Cランク"
)
最後の TRUE, "Cランク" が「それ以外すべて」の役割を果たします。必ず最後に入れておきましょう。
IFERROR・IFNA(エラー処理)
=IFERROR(式, エラー時の値) // すべてのエラーを処理
=IFNA(式, #N/A時の値) // #N/Aのみ処理
// VLOOKUPのエラーを隠す(最もよく使うパターン)
=IFERROR(VLOOKUP(A2, マスター!A:C, 2, FALSE), "未登録")
// #N/Aのみ処理し、他のエラー(#REF!など)はそのまま表示
=IFNA(VLOOKUP(A2, マスター!A:C, 2, FALSE), "未登録")
IFERRORとIFNAの使い分け
| 関数 | 処理するエラー | 使いどころ |
|---|---|---|
| IFERROR | すべてのエラー | ユーザーにエラーを見せたくない場合 |
| IFNA | #N/Aのみ | #REF!などの構造エラーは表示させたい場合 |
IF × AND / OR の組み合わせ
// AND:東京 かつ 売上50000以上
=IF(AND(A2="東京", C2>=50000), "対象", "対象外")
// OR:東京 または 大阪
=IF(OR(A2="東京", A2="大阪"), "関東・関西", "その他")
実務でよく使うパターン
パターン1:期限チェック(今日を超えていたら警告)
=IF(B2
パターン2:入力チェック(必須項目が空の場合)
=IF(OR(A2="", B2="", C2=""), "⚠️ 入力漏れあり", "OK")
パターン3:達成率によるアイコン表示
=IFS(C2/D2>=1, "🎯 達成", C2/D2>=0.8, "🔶 80%超", TRUE, "🔴 未達")
この知識をGASで活かす
IFはGASのif文、IFERRORはtry-catchに対応します。関数で条件分岐の考え方が染み込んでいると、GASのコードを書くスピードが上がります。
Free Newsletter
AIを業務に活かしたいなら
SMR-Labメルマガ
毎週火曜10時、コピペで使えるChatGPTプロンプト・
GASテンプレートをお届け。登録は1分・完全無料。
