【エクセル】ISERROR関数の使い方。IF関数と組み合わせてエラー値を非表示にする方法

Excelでエラー値を変換できるISERROR関数の使い方

Microsoft Excel(エクセル)で関数を挿入したけれど、値や数式の関係でどうしてもエラー値が発生してしまう場合があります。

例えば、VLOOKUP関数などの関数の結果が「#N/A」「#VALUE!」「#NAME?」「#DIV/0!」などが表示されるケースです。

こんな時、ISERROR関数を使って、さまざまな関数のエラー値を非表示にしたり、別の値に変換することが出来ます。

この記事では、ISERROR関数の使い方と、IF関数と組み合わせたエラー値を別の値に変換する方法を紹介します。

また、最後の見出しでは、IFERROR関数というエラーの非表示に特化した関数も紹介しているので、合わせて参考にしてください。

ISERROR関数は『エラーを判定』する関数

エクセルのISERROR関数でどんなことができるか紹介します。

ISERROR関数の読み方は、「イズエラー関数」です。英語の「IS」(イズ)と「ERROR」(エラー)の2単語を合わせた関数名です。

ISERROR関数とは、エラーが発生するかどうかを判定する関数で、エラーが発生する場合は「TRUE」、発生しない場合は「FALSE」が表示されます。

例えば、「10÷5」は「2」と明確な答えがあるのでISERROR関数の結果は「FALSE」が表示されますが、「10÷0」は答えが無いのでISERROR関数の結果は「TRUE」が表示されます。

図解.ISERROR関数のイメージ
図解.ISERROR関数のイメージ

また、ISERROR関数が判定するエクセルのエラー値は、以下の7種類です。ISERROR関数は以下のエラー値かどうかを判定し、TRUE、もしくはFALSEで返します。

ISERROR関数で判定するエラー値

「#N/A」「#VALUE!」「#DIV/0!」「#NULL!」「#REF!」「#NAME?」「#NUM!」

エクセルのエラー値の種類と原因

エラー値の種類                原因
#DIV/0!『0』で割り算している。割り算をしている参照セルが未入力など
#NAME?「=SAM」と入力するなど関数名を誤っている
#N/A条件に指定するセル範囲やセル番号を誤っている
#VALUE!数値を指定すべき引数に文字列を指定したり、関数の書式に合っていない
#REF!関数で参照しているセルを移動したり、削除した際に発生
#NUM!引数として指定できる数値の範囲を超えている
#NULL!参照するセル範囲が誤っている

ISERROR関数の使い方を紹介

それでは、ISERROR関数(イズエラー関数)の書式と引数、基本的な使い方を紹介します。

ISERROR関数の書式と引数

ISERROR関数の書式と引数は下のとおりです。

=ISERROR(値)

引数「値」に、数式や関数を挿入して、「=ISERROR(B4/C4)」「=ISERROR(VLOOKUP(G3,B3:E8,4,FALSE))」といった形で使用します。

ISERROR関数で指定した引数「値」の結果がエラー値であれば「TRUE」、エラー値でなければ「FALSE」が表示される仕様です。

ISERROR関数の基本的な使い方

ISERROR関数の基本的な使い方を紹介します。

B列÷C列の数式の結果にエラーが発生しないかを判定するため、下の表のD列に以下のISERROR関数を挿入します。

=ISERROR(B3/C3)

図解.ISERROR関数の基本的な使い方
図解.ISERROR関数の基本的な使い方

そうすると、「B列÷C列」の数式の結果がエラーが発生しない場合は「FALSE」と表示され、「10÷0」といったように答えが無く「DIV/0!」とエラー値が表示される場合は「TRUE」が表示されます。

ただ、この使い方だと、数式に問題がないかをチェックすることができますが、肝心の「B列÷C列」の結果が表示されません。

そのため、実務では、ISERROR関数は『IF関数と一緒に用いてエラー値を非表示』にするために利用されることが多いです。

ISERROR関数の便利な使い方

IF関数と組み合わせて、関数や数式のエラーを回避して非表示にしたり、別の値に変換する

以降の見出しでは、ISERROR関数をIF関数と組み合わせて利用する事例、実例を具体的に紹介していきます。

ISERROR関数とIF関数を組み合わせる方法

ISERROR関数は関数に問題がないかを調べるために使いますが、本来この関数を単体では利用しません。

IF関数やIFS関数とセットで利用することで、「#N/A」や「#DIV/0!」などのエラー値を非表示にしたり、別の値に変換する際に役立つ関数です。

それでは実際にISERROR関数の役立つ事例を3つ紹介します。

事例1.エラー値『VALUE!』『#DIV/0!』を非表示にする

事例の1つ目は、IF関数とISERROR関数を使って、セルに表示される『VALUE!』『#DIV/0!』を非表示にする方法を紹介します。

下の表のD列にはROUND関数が挿入されていますが、セルの値が文字列だったり、C3セルの値が0であることが原因でエラー値が発生しています。

ROUND関数の結果がエラー値『VALUE!』『#DIV/0!』
ROUND関数の結果がエラー値『VALUE!』『#DIV/0!』

エラーを非表示にするために入力する数式は下記の通りです。(緑の下線部がIF関数のために追加)

ISERROR関数でROUND関数がエラーかどうかを判定し、その判定結果に対してIF関数を用いて、エラーであれば空白を表示し、エラーでなければそのままROUND関数の結果を表示させる仕組みです。

=IF(ISERROR(ROUND(B7/C7,0)),"",ROUND(B7/C7,0))

IF関数とISERROR関数を組み合わせてエラー値を非表示
IF関数とISERROR関数を組み合わせてエラー値を非表示

このように、IF関数の第1引数「論理式」の中にISERROR関数を挿入することで、エラー値を非表示にすることができます。

IF関数の使い方をおさらいしたい方は、以下のリンク記事を参考にしてください。

事例2.エラー値『VALUE!』『#DIV/0!』を「ハイフン」に変換する

事例の2つ目は、IF関数とISERROR関数を使って、セルに表示される『VALUE!』『#DIV/0!』を別の値に変換にする方法を紹介します。

方法は簡単です。

上記で紹介した事例1のIF関数の第2引数「真の値」に「”-”」や「”該当なし”」などエラーの代わりに表示したい文字を指定します。 (緑の下線部)

=IF(ISERROR(ROUND(B3/C3,0)),"-",ROUND(B3/C3,0))

IF関数とISERROR関数を組み合わせてエラー値をハイフンで表示
IF関数とISERROR関数を組み合わせてエラー値をハイフンで表示

事例3.VLOOKUP関数とエラー値『#N/A』を非表示にする

事例の2つ目は、IF関数とISERROR関数を使って、VLOOKUP関数の結果で表示される『#N/A』を非表示にする方法を紹介します。

VLOOKUP関数は表の中から検索条件に一致するセルの値を抽出する関数ですが、該当する検索値が無い場合は「#N/A」が表示されてしまいます。

例えば、下の表はH3セルにVLOOKUP関数を挿入していますが、検索値「40」がB列に存在しないためエラー値が発生しています。

VLOOKUP関数でエラー値「#N/A」が表示されるケース
VLOOKUP関数でエラー値「#N/A」が表示されるケース

エラーを非表示にするために入力する数式は下記の通りです。

ISERROR関数でVLOOKUP関数がエラーかどうかを判定し、その判定結果に対してIF関数を用いて、エラーであれば空白を表示し、エラーでなければそのままVLOOKUP関数の結果を表示させる仕組みです。

=IF(ISERROR(VLOOKUP(G3,B3:E7,4,FALSE)),"",VLOOKUP(G3,B3:E7,4,FALSE))

ISERROR関数の事例:VLOOKUP関数のエラーを非表示
ISERROR関数の事例:VLOOKUP関数のエラーを非表示

VLOOKUP関数の使い方をおさらいしたい方は、以下のリンク記事を参考にしてください。

ISERROR関数とIFS関数を組み合わせる方法

IFS関数とISERROR関数を組み合わせることで、エラー値を非表示にすることもできます。

IFS関数は、IF関数を単一条件もしくは複数条件で利用できるIF関数の後継関数です。

IFS関数の第1引数「論理式1」にISERROR関数を挿入、第2引数「値1」に「””」、第3引数「論理式2」にそれ以外を表す「TRUE」、第4引数「値2」に論理式に当てはまらない場合の値を指定します。

=IFS(ISERROR(ROUND(B3/C3,0)),"",TRUE,ROUND(B3/C3,0))

IFS関数とISERROR関数を組み合わせてエラー値を非表示
IFS関数とISERROR関数を組み合わせてエラー値を非表示

上記のようにIFS関数を使うことで、エラー値を表示しないようにすることもできます。

IFS関数の使い方をおさらいしたい方は、以下のリンク記事を参考にしてください。

ISERROR関数とIFERROR関数の違い

数式のエラー値を表示しない方法として、IFERROR関数(イフエラー関数)を使った方法もあります。

IFERROR関数の構文は以下のとおりで、2つの引数を設定します。

IFERROR(値, エラーの場合の変換値)

IFERROR関数は、第1引数『』がエラー値「#N/A」「#DIV/0!」「#NULL!」「#NUM!」「#VALUE!」「#NAME?」「#REF!」のいずれかであれば第2引数「エラーの場合の変換値」を返し、そうでなければ『』をそのまま返します。

ISERROR関数より使い方は簡単で、エラーを避けたい関数をIFERROR関数で囲うように、緑の下線部を追加するだけです。

=IFERROR(ROUND(B7/C7,0),"")

IFERROR関数でエラー値を非表示にする方法
IFERROR関数でエラー値を非表示にする方法

ISERROR関数との違いは、ISERROR関数はIF関数と組み合わる必要があるのに対して、IFERROR関数は単体でエラー値を回避できます。

ISERROR関数はExcel2003以前からある古い関数ですが、IFERROR関数はExcel2007で登場した新関数なので、ISERROR関数を便利にした関数といえます。

-Excel(エクセル), 数式・関数