エラーを見えなくするISERRORとIFERROR

使用する関数:ISERROR、IFERROR、IF、ISERROR、VLOOKUP

・関数IF(読み方:イフ)
・書式=IF(論理式,真の場合,偽の場合)
・内容IF 関数を使用して値または数式が条件を満たしているかどうかをテストできます。
・関数ISERROR(読み方:イズエラー)
・書式=ISERROR(テストする値)
・内容値がエラーかどうかをチェックし、TRUE または FALSE を返します。
IFとISERRORを使うことでセルのエラーを空白表示にします

=VLOOKUP(B1,C3:I6,7,0)
をエラーなら空白、エラーでなければ実行して結果を表示します

ISERRORのテストする値に上記の「VLOOKUP(B1,C3:I6,7,0)」を入れます
=ISERROR(VLOOKUP(B1,C3:I6,7,0))
これで真(TRUE)偽(FALSE)の判定をします

この式をIF関数の論理式に入れることで
真(TRUE)エラー場合の場合の結果と
偽(FALSE)エラーではない場合の場合の結果を出します

ISERRORはエラーのときに真(TRUE)になるので
IF関数の真の場合を空白「""」として
偽の場合論理式を入れます

例)=IF(ISERROR(VLOOKUP(B1,C3:I6,7,0)),"", VLOOKUP(B1,C3:I6,7,0))

エラーを返すだけなので偽の場合にもう1度論理式を入力する必要があります

上記の論理式VLOOKUP(B1,C3:I6,7,0)は短いので良いですが、通常VLOOKUP関数やCOUNT関数など多用してる場合2度入力するのは無駄です。
でもこの方法しかエラーを隠す方法が無かったのでずっと使ってきました。

そこでやっと私の声が届いたのでしょうかw?エクセル2007から
IFERRORという関数ができました(注 エクセル2007以降でないと使えません。Googleスプレッドシートは使えます)
・関数IFERROR(読み方:イフエラー)
・書式=IFERROR(テストする値,エラーの時の値)
・内容値がエラーかどうかをチェックし、テストする値が正しければそのまま表示、エラーの時はエラーの時の値を表示します。
例 ISERRORの場合)=IF(論理式,真の場合,偽の場合)
=IF(ISERROR(VLOOKUP(B1,C3:I6,7,0)),"", VLOOKUP(B1,C3:I6,7,0))

例 IFERRORの場合)=IFERROR(テストする値,エラーの時の値)
=IFERROR(VLOOKUP(B1,C3:I6,7,0), "")

上記は2つとも同じ結果になります

IFERROR関数は論理式(テストする値)を正しければ実行、エラー時にはエラーの時の値を返します
エラーの時の値を空白「""」にすることでエラー表示はされません

エラーの時の値はセルを指定するか「""」半角のダブルクォーテーションではさむことで文字を表示します→「"やりなおし"」「"×"」

IFERROR関数の中にあるVLOOKUP関数で呼び出したセルが「#DIV/0!」や「#NAME?」などのエラーの場合は「0」を返します。
また「TRUE」と「FALSE」はそのまま「TRUE」と「FALSE」が表示されます


紛らわしいのはIF()関数の真の場合偽の場合と表記しているところ
真なんだから真の場合に入るのでは?と思われがちですが
ISERROR(VLOOKUP(B1,C3:I6,7,0))のエラーをチェックしているので
ISERROR()の結果がエラーならばエラーが真の場合になり
エラーの場合は表示しない(空白)にするので真の場合が「""」となり
エラーではない場合(偽の場合)がVLOOKUP(B1,C3:I6,7,0)になります

以上 エラーを見えなくするISERRORとIFERRORでした


EXCEL2007以上ならIFERROR、EXCEL2003より古ければISERRORを使いましょう
OFFICE ONLINEGoogleスプレッドシートではIFERRORは使用できます

TOP2進数を10進数に変換するBIN2DEC()関数の上限
(C) 2001-2023 Digital World