- 公開日:
- 更新日:
ExcelのVLOOKUP関数でエラーのときは空白にする方法
VLOOKUP関数では検索した値が見つからない場合に#N/Aエラーを返し、参照先のセルが空白(””)の場合は「0(ゼロ)」を返します。
自分だけが編集するシートならそのままでも問題ありませんが、誰かとシートを共有する場合や、資料として提出する場合はエラーなどを表示させない方が丁寧で、見栄えもよくなります。
この記事ではExcelのVLOOKUP関数でエラーのときは空白にする方法をご紹介します。
ExcelのVLOOKUP関数でエラーのときは空白にする方法
以下では、ExcelのVLOOKUP関数でエラーのときは空白にする方法を5つご紹介します。
- IFERROR関数を使って#N/Aエラーではなく空白で返す
- 0ではなく空白で返す
- IFERROR関数を使って#N/Aエラーと0の両方を空白で返す
- 検索値が入力されていない場合に空白で返す
- シート上のエラーを空白にして印刷する
IFERROR関数を使って#N/Aエラーではなく空白で返す
VLOOKUP関数で値が見つからない場合に「#N/A」エラーが返されます。以下では、エラーの代わりに空白を返す方法をご紹介します。
上記の画像は、E2セルに「=VLOOKUP(D2,A2:B6,2,FALSE)」を入力しています。D2セルに入力した「検索値」が検索範囲にないため、値が存在しないという意味の「#N/A」エラーが表示されました。VLOOKUP関数と別の関数を組み合わせることで#N/Aエラーを空白に置き換えることができます。
E2セルに「=IFERROR(VLOOKUP(D2,A2:B6,2,FALSE),"")」を入力して、Enetrを押します。IFERROR関数は、エラーの場合に指定した値を返します。書式は「IFERROR(値,エラーの場合の値)」です。今回は、VLOOKUP関数の結果がエラーになった場合に空白(””)を返すように指定しています。
IFERROR関数とVLOOKUP関数を組み合わせることで、E2セルに「空白」を返すことができました。
0ではなく空白で返す
まず参照先のセルが空白の場合に「0」を返す状況を確認していきます。
例えば上記の画像では、D2セルが検索値になっています。D2セルに「商品コード」を入力すると、左の表から商品コードに紐づいた商品名をE2セルに表示します。
E2セルに「=VLOOKUP(D2,A2:B6,2,FALSE)」を入力してEnterを押します。
D10セルに「0」が表示されました。
通常であれば「商品コード」に紐づいた「商品名」をE2に表示しますが、「商品コード」1002の「商品名」が空欄になっているため0が返されました。
0ではなく空白を返したい場合は、数式に少し手を加えれば簡単に空白を返すことができます。
以下では、0ではなく空白を返す手順をご紹介します。
E2セルに「=VLOOKUP(D2,A2:B6,2,FALSE)&""
」を入力して、Enterを押します。
先程ご紹介した数式との違いは、最後に「&””」を加えたことです。
「&””」は、文字列を結合する演算子「&」です。空白記号(””)を結合することで「0」ではなく空白に変換することができます。
VLOOKUP関数の最後に「&””」を加えることで、E2セルに「空白」を返すことができました。
IFERROR関数を使って#N/Aエラーと0の両方を空白で返す
以下では、「0を空白で返す」と「#N/Aエラーを空白で返す」の両方に対応する数式をご紹介します。
E2セルに「=IFERROR(VLOOKUP(D2,A2:B6,2,FALSE)&"","")
」を入力して、Enterを押します。IFERROR関数の第1引数のVLOOKUP関数に「&""」を結合することで、エラーを空の文字列に変換します。
「VLOOKUP+&""(両方を空白で返す)」数式であれば検索結果が「0」または「#N/Aエラー」になった際に空白に置換することができます。
上記の画像は、検索値が検索範囲にない場合にそれぞれの数式を入力した結果です。
「1002」の商品コードが左の表にないため、通常は「#N/Aエラー」が表示されますが、入力する数式で異なる結果が表示されます。
セル | 数式 | |
---|---|---|
VLOOKUP+&””(両方を空白で返す) | E2 | =IFERROR(VLOOKUP(D2,A2:B6,2,FALSE)&””,””) |
0を空白で返す | E3 | =VLOOKUP(D3,A2:B6,2,FALSE) |
#N/Aエラーを空白で返す | E4 | =IFERROR(VLOOKUP(D4,A2:B6,2,FALSE),"" |
上記のテーブルに、E2セルからE4セルまでに入力した数式を記載しています。
上記の画像は、検索値に紐づく値が空白の場合にそれぞれの数式を入力した結果です。
「1002」に紐づく商品名が左の表にないため通常は「0」が表示されますが、入力する数式で異なる結果が表示されます。
セル | 数式 | |
---|---|---|
VLOOKUP+&””(両方を空白で返す) | E2 | =IFERROR(VLOOKUP(D2,A2:B6,2,FALSE)&””,””) |
0を空白で返す | E3 | =VLOOKUP(D3,A2:B6,2,FALSE) |
#N/Aエラーを空白で返す | E4 | =IFERROR(VLOOKUP(D4,A2:B6,2,FALSE),"" |
上記のテーブルに、E2セルからE4セルまでに入力した数式を記載しています。
「VLOOKUP+&""(両方を空白で返す)」の数式では、「0」または「#N/Aエラー」になった際にどちらも空白を返すことができます。
検索値が入力されていない場合に空白で返す
以下では、あらかじめVLOOKUP関数が入力されている表やリストで、エラーが表示されているセルに空白を返す方法をご紹介します。
上記の画像は、体育館の使用許可のリストです。C3セルに「=VLOOKUP(B3,$E$3:$F$8,2,FALSE)」が入力されていて、下の表にも数式がコピーされています。
C4セルからC9セルは、検索値として指定しているB列の「所属コード」が空白になっているので、「#N/A」が返されています。
このままでは、リストが見づらいので「#N/A」を空白で表示できるようにしていきます。
C2セルに「=IF(B3="","",VLOOKUP(B3,$E$3:$F$8,2,FALSE))
」を入力して、Enterを押します。
IF関数と「B3="",""」を組み合わせることで、もしB3セルが空白の場合は空白を返し、そうではない場合はVLOOKUP関数の結果を返します。
IF関数は指定した条件に対して結果が「真」であるか「偽」であるかを判断します。書式は「=IF(条件式,真の場合,偽の場合)」です。
C3セルのフィルハンドルをドラッグして数式をコピーします。
下のセルまで数式をコピーすることができました。
空白を返すことでエラーが表示されなくなり、表が見やすくなりました。
シート上のエラーを空白にして印刷する
以下では、シート上のエラーはそのままで印刷する際にエラーを空白にする方法をご紹介します。
上記の画像の表は、B9からB13セルに「#N/A」が返されています。
自分が編集する分には問題ないですが、印刷して誰かに渡す際などはエラーが表示されていない方が見栄えがいいので、プレビューから空白を返す方法をご紹介します。
ファイルタブを選択します。
プレビューをみると、エラーが表示されているのが確認できます。
①印刷、②ページ設定の順に選択します。
「ページ設定」ダイアログボックスが表示されました。
①シートタブ、②セルのエラーで空白の順に選択します。③OKボタンを押します。
先程まで表示されていた「#N/A」が表示されなくなりました。
印刷してもエラーは表示されませんでした。