IFERRORで計算エラーを置き換える(IFNAとの違い)
IFERRORは計算エラーを指定した表示に置き換えます。#N/Aだけを置き換えたいときはIFNAを使い、ほかのエラーを確認できるようにします。
関数の例
=IFERROR(A2/B2,"確認してください")セルの位置と計算結果
数式を入力するセル:C2。上の数式を入力すると、表の「数式の結果」が表示されます。結果の文字や数値を手入力する必要はありません。
| 行番号 | A列 | B列 | C列 |
|---|---|---|---|
| 1 | 割られる数 | 割る数 | 結果 |
| 2 | 100A2:参照 | 0B2:0で割る | 確認してくださいC2:数式の結果 |
セルの役割は色と文字で表示しています。「空白」は何も入力しないセルです。1行目の見出しは説明用で、数式の対象には含まれません。
A2÷B2は100÷0なので#DIV/0!になります。IFERRORがその表示を「確認してください」に変えます。B2を5に変えるとC2は20です。下のIFNA比較表は別シートで試します。
表は仕様に基づく期待結果です。Excel実機での実行結果ではありません。
同じ入力でIFERRORとIFNAを比較
| 行 | A列に入力する数式 | A列の結果 | B列:IFERRORの結果 | C列:IFNAの結果 |
|---|---|---|---|---|
| 2 | =100/5 | 20 | 20 | 20 |
| 3 | =100/0 | #DIV/0! | 確認してください | #DIV/0! |
| 4 | =NA() | #N/A | 確認してください | 見つかりません |
別の練習用シートでA1に「元の式」、B1に「IFERROR」、C1に「IFNA」と入力します。A2:A4へ表の数式を入力し、B2に =IFERROR(A2,"確認してください")、C2に =IFNA(A2,"見つかりません") を入力して4行目までコピーします。NA()は比較用に#N/Aを発生させる関数です。表は仕様に基づく期待結果で、Excel実機での実行結果ではありません。
使い方を順番に確認する練習を始めるときは、この手順に沿って進めます
使い方
- A2に100、B2に0を入力します。
- C2を選び、=IFERROR(A2/B2,"確認してください") と入力して Enter を押します。
- C2に「確認してください」と表示されます。B2を5に変えると通常の計算結果20が表示されます。
結果の例
IFERRORは#N/Aだけでなく#DIV/0!・#VALUE!・#REF!なども置き換えます。表示を変えても原因は直りません。まず元の数式と参照先を確認してください。代わりに0を返すと「本当に0だった結果」と区別できず、平均などの集計も変わることがあります。空文字列("")は見た目が空白でも、何も入っていないセルと同じではありません。
検索で見つからない場合だけ置き換える
IFNAの式と、0で割るエラーの違い
=IFNA(NA(),"見つかりません")
=IFNA(100/0,"見つかりません")空いている別々のセルに1式ずつ入力する比較例です。最初の式は#N/Aだけを置き換えます。2つ目は#DIV/0!をそのまま表示するため、割る数が0になっている問題を見つけられます。検索関数と組み合わせる場合も、#N/Aが「未登録」なのか、入力値や検索範囲の間違いなのかを先に確認します。
| 式 | 期待結果 |
|---|---|
| IFNA(NA(),…) | 見つかりません |
| IFNA(100/0,…) | #DIV/0! |
うまくいかないときに確認するエラーや想定と違う結果が出たときの確認ポイント
うまくいかないとき
比較表は、最初のA2÷B2の練習とは別シートで試してください。IFNAで#DIV/0!が残るのは正常です。#NAME?なら関数名と対応バージョン、数式が文字になるならセル書式と先頭のアポストロフィを確認します。エラーを隠す前に、IFERRORやIFNAを外した元の式を空きセルで調べましょう。
Excel向け。関数によって対応するバージョンが異なります。各解説の注意点を確認してください。
目的に合わせて使い分ける
商品コードの検索では、XLOOKUPの「見つからない場合」の指定も確認してください。計算全体をIFERRORで囲む前に、必要な置き換え範囲を選びましょう。