エラー処理と複数条件分岐を効率化するIFERROR関数・IFS関数

エラー処理と複数条件分岐を効率化するIFERROR関数・IFS関数

Excelで計算式を作っていると、「#DIV/0!」や「#VALUE!」などのエラーが表示されることがありますよね。また、複数のIF文を重ねて複雑な条件分岐を作ると、式が長くなって見にくくなってしまいます。

今回はIFERROR関数IFS関数をご紹介します。エラー処理と複数条件分岐を効率的に行う方法を学んで、スマートなスプレッドシートを作成しましょう!

1. IFERROR・IFS関数の基本構文

IFERROR関数(エラー処理)
=IFERROR(値, エラーの場合の値)
IFS関数(複数条件分岐)
=IFS(条件1, 値1, 条件2, 値2, 条件3, 値3, ...)

IFERROR関数は「もしエラーが発生したら別の値を表示する」、IFS関数は「複数の条件を順番にチェックして、最初に当てはまった条件の値を返す」という機能です。

2. IFERROR関数でエラーを美しく処理する

まずは、よくあるエラーの例を見てみましょう。

A B C D
1 商品名 売上 数量
2 商品A 100000 50
3 商品B 150000 0
4 商品C 80000 20

単価を計算する場合(売上÷数量)を考えてみましょう。

❌ エラーが発生する式:
=C2/D2 → 商品Bで「#DIV/0!」エラー
✅ IFERROR関数を使った式:
=IFERROR(C2/D2, "計算不可") → 商品Bで「計算不可」と表示

この方法で、ゼロ割りエラーや参照エラーを防ぎ、スプレッドシートの見栄えを良くできます。

3. IFS関数で複数条件を効率的に処理する

成績評価を例に、IFS関数の使い方を見てみましょう。

A B C
1 生徒名 点数
2 田中 85
3 佐藤 92
4 鈴木 78
5 高橋 95

従来のIF文を重ねた場合と、IFS関数を使った場合を比較してみましょう。

従来のIF文(複雑) IFS関数(シンプル)
=IF(C2>=90,"A",IF(C2>=80,"B",IF(C2>=70,"C",IF(C2>=60,"D","F")))) =IFS(C2>=90,"A",C2>=80,"B",C2>=70,"C",C2>=60,"D",TRUE,"F")
💡 ポイント:IFS関数では最後にTRUE,"F"を追加することで、どの条件にも当てはまらない場合の値を指定できます。

4. IFERROR関数の実用的な活用例

VLOOKUP関数との組み合わせ

VLOOKUP関数でよく発生する「#N/A」エラーを防ぐ方法:

=IFERROR(VLOOKUP(A2,商品マスタ!A:B,2,FALSE), "商品情報なし")

計算結果の見栄え向上

割合計算でのエラー処理:

=IFERROR(B2/SUM(B:B)*100, 0) & "%"
重要:IFERROR関数は全てのエラーを処理してしまうため、意図しないエラーも隠してしまう可能性があります。使用前にエラーの原因を確認しましょう。

5. IFS関数の高度な使い方

売上ランク付けの例で、IFS関数の応用を見てみましょう。

売上金額 ランク ボーナス率
1,000,000円以上 S 20%
500,000円以上 A 15%
300,000円以上 B 10%
100,000円以上 C 5%
未満 D 0%
=IFS(B2>=1000000,"S",B2>=500000,"A",B2>=300000,"B",B2>=100000,"C",TRUE,"D")

6. 実践的な組み合わせテクニックと注意点

IFERROR + IFS の組み合わせ

複雑な計算でエラー処理も行いたい場合:

=IFERROR(IFS(C2/D2>=2000,"高単価",C2/D2>=1000,"中単価",TRUE,"低単価"), "計算不可")

よくある間違いと対処法

❌ 条件の順序を間違えた例:
=IFS(C2>=60,"D",C2>=70,"C",C2>=80,"B",C2>=90,"A")
→ 90点でも「D」判定になってしまう
✅ 正しい条件の順序:
=IFS(C2>=90,"A",C2>=80,"B",C2>=70,"C",C2>=60,"D",TRUE,"F")
→ 高い値から順番にチェックする
💡 効率化のためのヒント:
  • IFS関数では条件を高い値から順番に並べる
  • IFERROR関数では具体的なエラーメッセージを表示する
  • 複雑な式は段階的に作成してテストする

📋 まとめ

  • IFERROR関数とIFS関数の使い所
    • IFERROR:計算エラーを防いで見栄えの良いスプレッドシートを作成
    • IFS:複数のIF文を簡潔に記述して可読性を向上
  • 基本構文
    • =IFERROR(値, エラーの場合の値)
    • =IFS(条件1, 値1, 条件2, 値2, ...)
  • 実用例
    • IFERROR(C2/D2, "計算不可")
    • IFS(C2>=90,"A",C2>=80,"B",C2>=70,"C",TRUE,"F")
  • 活用のコツ
    • IFERROR:VLOOKUP、計算式と組み合わせてエラー処理
    • IFS:条件は高い値から順番に配置
    • 最後にTRUE条件でデフォルト値を設定

IFERROR関数とIFS関数をマスターすることで、より堅牢で読みやすいスプレッドシートが作成できるようになります。エラー処理と条件分岐を効率的に行い、プロフェッショナルなデータ分析を目指しましょう!

コメントを残す