エラー値を特定して空白にする方法 - Googleスプレッドシート関数

「#DIV/0!」「#VALUE!」などエラー値を特定して空白にする方法

「#NULL!」「#DIV/0!」「#VALUE!」「#REF!」「#NAME?」「#NUM!」「#N/A」など 特定のエラー値を指定して別のセルの値や空白や0にする方法

エラー値を分類して取得するにはERROR.TYPE関数を使用します
・関数ERROR.TYPE(読み方:エラータイプ)
・書式=ERROR.TYPE(参照値)
・内容セルを指定してエラー値に対応する数値を返します
参照値がエラーではない場合は「#N/A」エラーになります
ERROR.TYPEは参照値にセルや数式を指定すると対応する1~8の数値を返します
 1#NULL!複数のセルを選択したとき「,」や「:」が無い場合
 2#DIV/0!割り算で母数が「0」の場合
 3#VALUE!数式の関数を使用した時対象が文字列の場合
 4#REF!関数の対象セルが削除された場合
 5#NAME?存在しない関数、使用できない関数を指定した場合
 6#NUM!数式の結果が表示できないほど小さな(大きな)数値の場合
 7#N/A関数で指定された範囲内のセルにエラーがある場合
 8 その他のエラーの場合

VLOOKUPのエラー

セルE3)=VLOOKUP("GGG",B3:C9,2,0)
セルF3)=IFERROR(ERROR.TYPE(E3),"")
VLOOKUPの参照値「"GGG"」が見つからないので「#N/A」エラーでERROR.TYPEは(7)になります

セルE5)=VLOKUP("GGG",B3:C9,2,0)
セルF5)=IFERROR(ERROR.TYPE(E5),"")
「VLOOKUP」のスペルが「VLOKUP」と間違っているので「#NAME?」エラーでERROR.TYPEは(5)になります

セルE7)=VLOOKUP("DDD",B3:C9,2,0)/0
セルF7)=IFERROR(ERROR.TYPE(E7),"")
「VLOOKUP」の結果は40ですが0で割っているので「#DIV/0!」エラーでERROR.TYPEは(2)になります
エラーを非表示にするならば数式をIFERRORに入れて空白を指定します
=IFERROR(VLOOKUP("GGG",B3:C9,2,0),"")

エラーを0にするならば数式をIFERRORに入れて0を指定します
=IFERROR(VLOOKUP("GGG",B3:C9,2,0),"0")
「#N/A」エラーの場合だけ空白にする場合
「#N/A」のERROR.TYPEは7なのでIF関数を使用してERROR.TYPE(E3)が7の場合を空白、7でなければ元のセルを実行します
=IF(IFERROR(ERROR.TYPE(E3),"")=7,"",E3)

数式で直接入力する場合
=IF(IFERROR(ERROR.TYPE(VLOOKUP("GGG",B3:C9,2,0)),"")=7,"",VLOOKUP("GGG",B3:C9,2,0))
「#DIV/0!」エラーの場合だけ空白にする場合
=1/0 割り算の母数が0なので「#DIV/0!」エラーになります

=ERROR.TYPE(1/0) 「#DIV/0!」エラーなので2になります
ERROR.TYPE関数は対象がエラーではない場合「#N/A」エラーになります

エラーではない場合エラーなるというおかしな現象を回避するために
ERROR.TYPEをIFERRORの中に入れてエラー時は空白にします
=IFERROR(ERROR.TYPE(1/0),"")

例が「1/0」なので必ずエラーになりますがこれは例なので実際は別の数式やセルを指定します

IF関数でエラー値が「#DIV/0!」の時だけ空白にします
=IF(論理式,真の場合,偽の場合)

論理式 IFERROR(ERROR.TYPE(1/0),"")=2
真の場合 ""(空白)
偽の場合 1/0

=IF(IFERROR(ERROR.TYPE(1/0),"")=2,"",1/0)

これでセルや数式が「#DIV/0!」の時だけ空白になります
関連するスプレッドシート関数
 IF 値または数式が条件を満たしているかどうかをテスト
 COUNTIF 検索条件に一致するセルの個数を返します
 SUM 指定したセルに含まれる数値をすべて合計します
 VLOOKUP   値を検索して範囲内の対応するセルの値を返します
 VALUE 文字列として表示された数字を数値に変換します


「#DIV/0!」「#VALUE!」などエラー値を特定して空白にする方法>HOME

Googleスプレッドシート関数

(C) 2001-2021 Digital World