IF関数の魔法を解き明かそう!簡単&楽しく学ぶスプレッドシートの活用術

Sheet基本

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分・完全無料。

▶ 無料で登録する

📧 無料メルマガ登録

DX・AI活用のヒントを週1回お届け。登録特典:すぐ使えるプロンプト集&GASテンプレート。

登録情報は第三者に提供しません。いつでも配信停止できます。

目次