VLOOKUP関数でエラーも0も表示させず空白にする方法

ここでは、エクセルのVLOOKUP関数で、エラーや空白の結果0を表示させずに空白にする方法を解説します。

 

一つの数式でどちらにも対応できるため、便利です。

1.VLOOKUP関数で0やエラーになる場合の例

始めに、それぞれの例を見てみます。

 

1-1.元の値が空白だと0が返ってくる

まずはVLOOKUP関数で、空白が0になる場面の例からです。

上の表は社員情報の一覧です。

 

そして、この表から「指定した社員CD(セルA9)」を検索値として氏名や年齢などをVLOOKUP関数で抽出した結果が9行目です。

 

そんな中で社員CD「3」の人の住所は空白になっていますが、この値をVLOOKUP関数で抽出すると、上の例のように「0」が返ってきます。

 

これはVLOOKUP関数に限らず、数式を用いた場合全般で起こることですが、このように元の値と違う値が表示されるのはとても気になるところです。

 

1-2.検索値が検索範囲にないと#N/Aエラーになる

次にVLOOKUP関数で、エラーが返ってくる場面の例です。

 

VLOOKUP関数は、検索範囲に検索値がないと「#N/Aエラー」を返します。

上の表と9行目のVLOOKUP関数の計算式は、先ほどと全く同じです。

 

社員CDは1から4までしかないのに対し、検索値を「5」にすると「#N/Aエラー」になりました。

 

このようにVLOOKUP関数は、例えば検索値が検索範囲にないと#N/Aエラーになります。

 

しかし、エラーを表示したくないケースもあると思います。

 

そんな時に使える数式の作り方を、この後説明します。

2.0やエラー表示を空白にする2つの方法

0でもエラーでも、どちらも空白で表示させる数式は2パターンあります。

 

2-1.IFERROR関数+&""を使う

一つ目は「IFERROR関数+&""を使う」方法です。

 

2-1-1.IFERROR関数とは

IFERROR関数関数とは「結果がエラーの時に指定した値を返す」関数です。

 

数式の構文は、次の通りです。

=IFERROR(値,エラーの場合の値)

 

「値」には、エラー判定したい数式を入れます。

 

「エラーの場合の値」には、エラーの時に返してほしい値を入れます。

 

2-1-2.「&""」とは

「&""」は、数式の後ろに付けると「数式が返す値を文字列にする」ことができます。

 

そして、返ってくる値が0の時には、これを付けると空白になります。

 

場面によって、覚えておくととても便利です。

 

2-1-3.数式の形は

VLOOKUP関数をIFERROR関数・「&""」と組み合わせる時の数式の形は、次の通りです。

=IFERROR(VLOOKUP( )&"","")

 

ポイントは、次の通りです。

ポイント
  • ① VLOOKUP()は普段通り
  • ② 「IFERROR(」を前に、「&"",""))」を後ろに付ける

 

2-1-4.例で確認

先ほどの例で確認してみましょう。

 

まず、対応を入れる前の数式は、次の通りでした。

 

【元の数式】

 =VLOOKUP($A$9,$A$2:$E$5,5,FALSE)

 

これに対してIFERROR関数・「&""」と組み合わせると、次のようになります。

【変更後の数式】

 =IFERROR(VLOOKUP($A$9,$A$2:$E$5,5,FALSE)&"","")

手順は、次の通りです。

手順
  • ① 数式の頭に「IFERROR(」を入力する
  • ② 数式の最後に「&"",""))」を入力する

 

これで、数式は「VLOOKUP関数の計算結果、0やエラーならば空白、エラー以外ならばVLOOKUP関数の計算結果を表示」という形になります。

2-2.IF関数+ISERROR関数+IF関数を使う

二つ目は「IF関数+ISERROR関数+IF関数を使う」方法です。

 

2-2-1.ISERROR関数とは

ISERROR関数関数とは「結果がエラーかを判定する」関数です。

 

数式の構文は、次の通りです。

=ISERROR(テストの対象)

 

「テストの対象」には、エラー判定したい数式を入れます。

 

2-2-2.数式の形は

VLOOKUP関数をIF関数・ISERROR関数と組み合わせる時の数式の形は、次の通りです。

=IF(ISERROR(VLOOKUP( )),"",IF(VLOOKUP( )=0,"",VLOOKUP( )))

 

ポイントは、次の通りです。

ポイント
  • ① VLOOKUP()は普段通り
  • ② ISERROR関数でエラーや0を判定、該当する場合はIF関数で空白にする

 

2-2-3.例で確認

先ほどの例で確認してみましょう。

 

まず、対応を入れる前の数式は、次の通りでした。

 

【元の数式】

 =VLOOKUP($A$9,$A$2:$E$5,5,FALSE)

 

これに対してIF関数+ISERROR関数+IF関数と組み合わせると、次のようになります。

【変更後の数式】

=IF(ISERROR(VLOOKUP($A$9,$A$2:$E$5,5,FALSE)),"",IF(VLOOKUP($A$9,$A$2:$E$5,5,FALSE)=0,"",VLOOKUP($A$9,$A$2:$E$5,5,FALSE)))

手順は、次の通りです。

手順
  • ① 数式の頭に「IF(ISERROR(」を入力する
  • ② VLOOKUP関数の数式のコピーを貼り付ける
  • ③ 「),"",IF(」を入力する
  • ④ VLOOKUP関数の数式のコピーを貼り付ける
  • ⑤ 数式の最後に「))」を入力する

 

これで、数式は「VLOOKUP関数の計算結果、0やエラーならば空白、エラー以外ならばVLOOKUP関数の計算結果を表示」という形になります。

3.2つの方法の使い分け方

最後に「IFERROR関数+&""を使う方法」と「IF関数+ISERROR関数+IF関数を使う方法」の使い分け方を確認します。

 

基本的に、「IFERROR関数+&""を使う」の方が、簡単で分かりやすいので、こちらを使った方がいいです。

 

「IF関数+ISERROR関数+IF関数を使う方法」は、一応こんな方法もあるんだと知っておくくらいでいいでしょう。

 

以上、参考になれば幸いです。

 


口コミ・評判のいいExcel本の紹介】


Top