INDEX
VLOOKUPやMATCHのエラーを防ぐには?
ExcelでVLOOKUP
やMATCH
を使用すると、検索対象が見つからない場合にエラー(#N/A)が発生することがあります。このエラーを防ぐには、ISNUMBER
関数を活用して、検索結果を事前に判定する方法が有効です。本記事では、ISNUMBER
を使ったエラーハンドリングのテクニックを解説します。
VLOOKUPやMATCHのエラーの原因
VLOOKUP
やMATCH
は、指定した値が見つからないと #N/A
エラーを返します。これは、以下のような場合に発生します。
- 検索対象がリスト内に存在しない。
- データの整合性が取れていない(スペースや表記ゆれがある)。
- 検索範囲の指定が間違っている。
ISNUMBERを使ったVLOOKUPのエラー判定
例えば、以下のような商品リストがあり、商品コードを検索する際にエラーを回避したい場合を考えます。
A | B | C | |
---|---|---|---|
1 | 商品コード | 商品名 | 検索結果 |
2 | 1001 | りんご | |
3 | 1002 | バナナ | |
4 | 1003 | みかん | |
5 | |||
6 | 検索コード | 1002 | =IF(ISNUMBER(VLOOKUP(B6, A2:B4, 1, FALSE)), VLOOKUP(B6, A2:B4, 2, FALSE), “見つかりません”) |
手順
- A列に商品コード、B列に商品名を入力します。
- B6セルに検索したい商品コードを入力します。
- C6セルに以下の数式を入力します。
=IF(ISNUMBER(VLOOKUP(B6, A2:B4, 1, FALSE)), VLOOKUP(B6, A2:B4, 2, FALSE), "見つかりません")
解説
VLOOKUP(B6, A2:B4, 2, FALSE)
でB6の値を検索します。ISNUMBER
を使って、検索結果が数値であるかを判定します。- 見つかった場合は商品名を表示し、見つからなかった場合は「見つかりません」と表示します。
ISNUMBERを使ったMATCHのエラー判定
MATCH
関数を使用すると、検索値がリスト内にあるかどうかを判定できます。ただし、この場合では検索値がない場合に #N/A
エラーが発生するため、ISNUMBERを用いて「見つかりません」と表示できるようにします。
A | B | C | |
---|---|---|---|
7 | 検索コード | 結果 | 判定 |
8 | 1002 | =MATCH(A8, A2:A4 0) | =IF(ISNUMBER(MATCH(A8, A2:A4, 0)), MATCH(A9, A2:A4, 0), “見つかりません”) |
手順
- A列に検索対象のコードを入力します。
- B8セルに =MATCH(A8, A2:A4, 0) を入力します。
- C8セルに =IF(ISNUMBER(MATCH(A8, A2:A4, 0)), MATCH(A9, A2:A4, 0), “見つかりません”) を入力します。
エラー対策のまとめ
VLOOKUPやMATCHの検索結果を判定するには、ISNUMBERを活用することで、#N/Aエラーを回避できます。データの正確性を高め、エラーを防ぐ工夫を行いましょう。
使用した関数について

ISNUMBER関数で数値かどうかを判定する方法についてわかりやすく解説
ISNUMBER関数についてISNUMBERの概要値が数値かどうかを判定Excel関数=ISNUMBER( 値 )概要 ISNUMBER関数は、指定したセルや値が数値かどうかを判定し、数値であればTRUE、そうでなければFALSEを返します。 ISNUMBER関数は、数値かどうかを判定する簡単な方法を提供します。 エラ...

VLOOKUP関数で検索値に一致する行のデータを取得する方法と複数結果の表示方法についてわかりやすく解説
VLOOKUP関数についてVLOOKUPの概要検索値に一致する行のデータを検索Excel関数/検索=VLOOKUP( 検索値 , 範囲 , 列番号 , FALSE )概要 検索値に一致する行のデータを検索して表示 範囲内の一番左の列のなかで、検索値に一致する行の列番号(範囲内の左列から)の値を表示するABCDEF範囲内...

MATCH関数で値に一致する行位置を求める方法をわかりやすく解説
MATCH関数についてMATCHの概要値に一致する行位置を取得Excel関数=MATCH( 検索値 , 検索範囲(縦方向) , 0 )値に一致する行位置を求める 値に一致する列番号を求めるMATCH関数MATCHはどのような時に使用するか 指定した値に一致するデータが何行目にあるかMATCHの使い方 MATCHは縦、又...

IF関数で論理式による表示の切り替えの方法についてわかりやすく解説
IF関数についてIFの概要論理式の結果によって表示を切り替えるExcel関数=IF( 論理式 , TRUEの場合 , FALSEの場合 )概要 論理式の結果によって異なる値を返す 論理式については論理式を参照 文字列を比較し等しければTRUEを返すEXACT、数値を比較するDELTAを用いて正誤チェックなどをすることも...