IFERRORでエラーを捕捉する
IFERRORを使い、エラーを代替値に置き換えます。
「IFERRORでエラーを捕捉する」はCoddyKit上の無料Excel Formulas Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはExcel Formulas Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Excel Formulas Academyコースには全4レッスンが含まれています。
IFERROR を使ってみる
IFERROR 関数は、あらゆる場面で使える安全網です。数式が何らかのエラーを返すかどうかを確認し、エラーが発生した場合は、代わりに指定した分かりやすい値を表示します。
これにより、スプレッドシートをすっきりとしたプロフェッショナルな見た目にできます。レポートのあちこちに #DIV/0! のような分かりにくいコードを表示する代わりに、空白やダッシュなどの役立つテキストを表示できます。
このレッスンでは、IFERROR の構文と、実際の数式への適用方法を学びます。
IFERROR の構文
IFERROR は、正確に2 つの引数を受け取ります。
- value 実行する数式または計算
- value_if_error 数式でエラーが発生した場合に表示する値
構文は =IFERROR(your_formula, fallback) です。スプレッドシートは、まず数式を実行します。成功すれば本来の結果が表示され、エラーが発生すれば代わりにフォールバック値が表示されます。
=IFERROR(A2/B2, 0)割り算のエラーを置き換える
空のセルで割ると #DIV/0! になることを思い出してください。割り算を IFERROR で囲むと、表示を整えられます。
ここでは、B2 が 0 または空白の場合、エラーの代わりに 0 が返されます。B2 に実際の数値が入っていれば、通常どおり割り算が実行されます。
フォールバック値として 2 つの引用符 "" を使えば、空白を返すこともできます。
=IFERROR(A2/B2, "")分かりやすい検索メッセージ
IFERROR は検索で特に役立ちます。一致する値が見つからない VLOOKUP は #N/A を返すため、読み手が戸惑うことがあります。
検索を IFERROR で囲むと、"Not found" のような明確なメッセージに置き換えられます。これで、シートを読む人は結果をすぐに理解できます。
この 1 つの方法だけで、検索を多用するレポートをはるかに安心して利用・共有できるようになります。
=IFERROR(VLOOKUP(A2,Data!A:B,2,FALSE), "Not found")別の計算結果を返す
フォールバック値は単なるテキストでなくてもかまいません。最初の数式が失敗したときに実行する別の数式にすることもできます。
たとえば、最初の検索で見つからなかった場合に、別の表で 2 回目の検索を行うようにできます。スプレッドシートは最初の検索を試し、エラーが発生した場合に限って 2 回目の検索を実行します。
これにより、途中で見苦しいエラーを表示せずに、複数の方法を順番に試せます。
=IFERROR(VLOOKUP(A2,Main!A:B,2,0), VLOOKUP(A2,Backup!A:B,2,0))IFERROR はすべてのエラーを捕捉する
重要な特徴があります。IFERROR はすべてのエラー種別を捕捉します。数式が #DIV/0!、#N/A、#VALUE!、#REF! のどれを返しても関係なく、すべての場合にフォールバック値が表示されます。
これは便利である一方、注意も必要です。すべてのエラーを隠すため、本来なら把握したい本当の問題まで IFERROR が覆い隠す可能性があります。
見つからない検索結果だけを隠したい場合は、次のレッスンで学ぶ IFNA のほうが安全です。
売上レポートの例
今期の値から前期の値を引き、それを前期の値で割って成長率を計算するとします。前期の値が 0 の場合、新商品では #DIV/0! が発生します。
これを IFERROR で囲み、テキスト "New" を指定すると、そのエラーを意味のあるラベルに変えられます。既存の商品には実際のパーセンテージが表示され、新商品には New と表示されます。
これで、レポート全体を上から下まで見やすく整理できます。
=IFERROR((B2-C2)/C2, "New")隠しすぎない
IFERROR は対象範囲が広いため、使用する場所には注意してください。複雑な数式全体を IFERROR で囲むと、データの誤りが原因の #VALUE! エラーまで、気付かないうちに置き換えられる可能性があります。
その結果、実際には間違っている数値を信頼してしまうかもしれません。ベストプラクティスは、計算全体ではなく、エラーが発生する可能性が最も高い特定の部分を囲むことです。
IFERROR は意図的に使用し、テスト中は一時的に外して、数式が本当に機能することを確認してください。
空の結果を IFERROR で処理する
よく使われる方法として、データがない場合に空の文字列を返し、セルを見た目上空白にする方法があります。
フォールバック値に "" を使うと、ほとんどの関数が空白に見えるテキストを表示される値として扱わないため、グラフや合計をすっきり保てます。
ただし、"" を保持するセルは、技術的には完全に空のセルではなくテキストです。そのため、COUNT の動作やグラフの表示に影響することがあります。合計の場合は、通常 0 を返すほうが安全です。
=IFERROR(SUMIFS(Sales,Region,A2), 0)IFERROR を使う場面
数式全体に対して単純な 1 つの安全網を設けたい場合で、どのエラーが発生しても想定内で問題がないと確信できるときは、IFERROR を使ってください。
割り算の比率、任意の検索、新しい項目の成長率の計算などが適しています。
予期しないエラーを把握する必要がある場合や、特定のエラー種別だけを処理したい場合は避けてください。特に検索では、次に学ぶ IFNA のほうが細かく制御できます。
IFERROR を安全に入れ子にする
1 つの IFERROR を別の IFERROR の中に配置すると、複数のフォールバックを順番に試せます。スプレッドシートは最初の数式、次に 2 番目の数式、最後に既定値の順に試します。
ここでは、まずメインの表を検索し、次にバックアップの表を検索します。両方で見つからなければ "Not found" を返します。各層は、直前の層でエラーが発生した場合にのみ実行されます。
入れ子は 2~3 段階までを目安に浅く保ってください。それ以上になると、数式が読みにくく、保守しにくくなります。
=IFERROR(VLOOKUP(A2,Main!A:B,2,0), IFERROR(VLOOKUP(A2,Backup!A:B,2,0), "Not found"))理解度チェック
IFERROR についての理解度を確認しましょう。
復習:IFERROR
これで、あらゆるエラーに対応できる関数を学びました。
=IFERROR(value, value_if_error)は数式を試し、エラーが発生した場合にフォールバック値を表示します。- すべてのエラー種別を捕捉するため、意図的に使用してください。
- フォールバック値には、テキスト、数値、空白
""、さらには別の数式も指定できます。 - 計算全体ではなく、エラーが発生しやすい部分を囲むことで、本当の問題を見える状態に保てます。
次は IFNA を使って、#N/A の検索エラーだけを対象にする方法を学びます。
よくある質問
「IFERRORでエラーを捕捉する」レッスンは無料ですか?
はい。「IFERRORでエラーを捕捉する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Excel Formulas Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Excel Formulas Academyコースには全4レッスンが含まれています。
「IFERRORでエラーを捕捉する」で何を学びますか?
IFERRORを使い、エラーを代替値に置き換えます。 ブラウザで直接実行するハンズオンコードでExcel Formulas Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Excel Formulas Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのExcel Formulas Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「IFERRORでエラーを捕捉する」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このExcel Formulas Academyレッスンでコードを書いて実行できますか?
はい。すべてのExcel Formulas Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- エラーの種類を理解する
- IFERRORでエラーを捕捉する
- IFNAで検索エラーに対応する
- ISERRORで問題を検出する