ISERR 関数は、値が #N/A 以外のエラー(#DIV/0!・#VALUE! など)なら TRUE、それ以外なら FALSE を返す関数です。#N/A のときは FALSE になるのが、すべてのエラーで TRUE になる ISERROR とのちがいです。
「見つからない(#N/A)」はそのまま見せて、計算のミスだけを調べたいときに使えます。この記事では、ISERR の使い方を、実際の Excel で確かめた結果で説明します。
ISERR 関数の書き方
=ISERR(値)
| 引数 | 意味 |
|---|---|
| 値 | 調べたいセルや式 |
#N/A だけを調べるときは ISNA 関数、すべてのエラーなら ISERROR 関数を使います。
1. #N/A 以外のエラーか調べる
I2 に式を入れて、下へコピーします。
=ISERR(A2)

#DIV/0! と #VALUE! は TRUE、#N/A は FALSE、123 と abc は FALSE でした。
2. ISERROR とくらべる
同じ値を ISERROR で調べます。
=ISERROR(A2)

ISERROR では、#N/A も TRUE になりました。
3. 計算ミスのエラーだけ空白にする
ISERR が TRUE なら空白、それ以外は元の値を表示します。
=IF(ISERR(A2),"",A2)

#DIV/0! と #VALUE! は空白になり、#N/A は「#N/A」のまま残りました。
4. #N/A 以外のエラーの数を数える
ISERR に範囲を入れ、-- で TRUE を 1 にして合計します。
=SUMPRODUCT(--ISERR(A2:A6))

結果は 2 でした。
【実機で検証】ISERR でつまずくところ

| ためしたこと | 式 | 結果 |
|---|---|---|
| エラーに見える文字 “#DIV/0!” | =ISERR("#DIV/0!") | FALSE |
| 空白のセル(A12) | =ISERR(A12) | FALSE |
| #N/A を直接 | =ISERR(#N/A) | FALSE |
| #REF! を直接 | =ISERR(#REF!) | TRUE |
| ISERR に範囲(スピル)の 2 つ目 | =INDEX(ISERR(ISERR!A2:A6),2) | TRUE |
| IFERROR でまとめて空白 | =IFERROR(ISERR!A4,"") |
エラーに見える文字の “#DIV/0!” は FALSE でした。文字はエラーではありません。空白のセルも FALSE です。
#N/A を直接入れると FALSE、#REF! は TRUE でした。ISERR に範囲を入れると、1 つずつの結果が並びます(2 つ目は TRUE)。
IFERROR を使うと、#N/A も「」(空白)になりました。#N/A を残したいときは ISERR を使います。
よくある質問
エラーをまとめて空白にしたいときは?
IFERROR 関数が手軽です。
#N/A だけ別の表示にしたいときは?
IFNA 関数を使うと、#N/A だけを置きかえられます。
エラーの種類ごとに表示を変えたいときは?
ERROR.TYPE 関数で、エラーの種類を番号で調べられます。

コメント