スポンサーリンク

Excel(エクセル) IFERROR 関数を用いて VLOOKUP 関数で検索した値が存在しない場合にエラー(#N/A)を表示させない方法


Excel(エクセル)で VLOOKUP 関数を用いてデータを検索をする場合において、検索値と一致するデータが存在しないとエラー表示「#N/A」が出てしまいます。

今日は、このエラー表示「#N/A」を出さない方法を紹介します。

最初に1でVLOOKUP 関数の使い方から説明していますが、不要な方はパスして下さい。

スポンサーリンク

1、VLOOKUP 関数の使い方

さて、以前にこちらの記事で説明した内容と同じですが VLOOKUP 関数の使い方を説明しておきます。

VLOOKUP 関数 は「=VLOOKUP(検索値,範囲,列番号,検索方法)」となり4つの引数を用います。
少々ややこしい関数ですが、まず「引数が4つ」ということを覚えると良いと思います。

例えば、次のように従業員の情報(名前、性別、年齢)をまとめた表があったとします。

そして、セル「H4」に入力する従業員の「名前」から「性別」と「年齢」の情報を引っ張り出したい場合、

・性別を表示させるセル「H5」に「=VLOOKUP(H4,B6:D15,2,FALSE)」
・年齢を表示させるセル「H6」に「=VLOOKUP(H4,B6:D15,3,FALSE)」

と関数を入力します。

その状態で従業員の「名前」をセル「H4」に入力すると、その従業員の「性別」と「年齢」の情報がそれぞれセル「H5」とセル「H6」に表示されます。例えば名前が「あああ」の従業員であれば↓のようになります。

同様に、名前が「おおお」の従業員であれば↓のようになります。

このように、個々の従業員の情報を「名前」という条件から検索できるようになるのです。

さて、4つの引数(検索値,範囲,列番号,検索方法)の意味について説明したいと思います。

検索値

まず、「検索値」というのは検索の条件のことです。この例では従業員の「名前」という条件で検索していることになります。

性別を表示させるセル「H5」に「=VLOOKUP(H4,B6:D15,2,FALSE)」と入力しました。「検索値」はセル「H4」となっており「H4」に入力された「名前」と一致する従業員の情報を取り出すことになります。

範囲

「範囲」とは検索の条件である「検索値」の候補となるデータごとの情報の集まりです。上の例ではB6~D15が該当し「B6:D15」のように書きます。

ここで1点注意が必要なのですが、「検索値」の候補となるデータはこの「範囲」の一番左側の列(B列)にしなければなりません。

「名前」の候補がB列に並んでなければならないということです。

「あああ~こここ」までの名前の中から「検索値」に一致するものを探し出します。

列番号

「列番号」とは「範囲」の中で「検索値」の候補となるデータの列を1列目とした場合に、何列目の情報を取り出したいかを表します。

・1列目(B列) 「名前」
・2列目(C列) 「性別」
・3列目(D列) 「年齢」

となります。

「性別」を表示させるセル「H5」の場合は、この「列番号」は2(列目)となります。

検索方法

最後の「検索方法」ですが、「TRUE」、「FALSE」のいずれかを入力します。

・TRUE  近似一致
・FALSE 完全一致

という意味です。

上の例ではFALSE としており、セル「H4」に入力した「検索値」とB列の「検索値」の候補となるデータが 完全に一致するものを取り出します。

セル「H4」に「おおお」と入力した場合は、B列の名前(検索値の候補となるデータ)から「おおお」と完全に一致する場合の情報を取り出すということです。

*なお、「検索方法」をTRUEにして良いケースというのは「検索値」の候補となるデータが数値の場合です。

セル「H5」の数式により

①B列の中で検索値「おおお」と完全に一致するデータを探す
②「おおお」と同じ行で 2列目のデータを探す

ということをやっているのです。

2、エラー表示「#N/A」が出てしまうケース

さて、 この VLOOKUP 関数を用いる場合において、エラー表示「#N/A」はどのようなときに出てしまうのか?

具体例を見てみましょう。

上のシートでセル「H4」に名前として「さささ」と入力してみます。

すると「性別」を表示するセル「H5」と、「年齢」を表示するセル「H6」にエラー表示 「#N/A 」が出てきます。

これは、検索値である名前「さささ」と一致するデータがB列(B6~15)に存在しないために起こることです。

3、IFERROR 関数を用いてエラー表示「#N/A」を出さない方法

このエラー表示「#N/A」を出さないようにしたいと思います。

もし検索値と一致するデータが存在しなかった場合、エラー表示ではなく空白のままにすることにします。

IFERROR 関数を用います。

IFERROR 関数は、「=IFERROR(値, エラーの場合の値)」のように記述して使います。

「値」がエラーの場合、「エラーの場合の値 」を表示し
それ以外の場合は、「値」をそのまま表示します。

セル「H5」に「=IFERROR(VLOOKUP(H4,B6:D15,2,FALSE),””)」と入力しましょう。

これによって、「VLOOKUP(H4,B6:D15,2,FALSE)」の計算結果がエラーの場合セル「H5」は「””(空白)」となり、それ以外の場合には「VLOOKUP(H4,B6:D15,2,FALSE)」の計算結果が 表示されます。

同様にセル「H6」には、「=IFERROR(VLOOKUP(H4,B6:D15,3,FALSE),””)」と入力します。

これにより、該当する「名前」が無い場合には「性別」と「年齢」は表示されないようになりました。

4、まとめ

IFERROR 関数を用いて、エラー表示を出さない方法は VLOOKUP 関数を用いる場合以外でも使えます。

エラー表示「#N/A」が出るとうっとうしいので、そのような場合にはなるべく使うようにしています。