Excel。今再びのVLOOKUP関数。VLOOKUP関数で#N/Aというエラーが出たときの対処方法。
<入力規則とIF+VLOOKUP関数>
VLOOKUP関数を設定した時に、次のような、#N/Aというエラーが発生することがあります。C列の商品名には、
=VLOOKUP(B2,リスト!$A$2:$C$4,2,FALSE)
という数式が設定してあります。
この#N/A(エヌエー:ノー・アサイン)というエラーは、検索するためのデータがない場合に表示されます。
この場合は、B2が空白なので検索する値がないので、エラーが表示されたわけ。
VLOOKUP関数になれていない人だと、数式の設定自体にミスがあると勘違いしてしまう恐れがありますので、ダミーデータをB2にいれてからVLOOKUP関数を作るといいですね。
しかし、B2にデータがあっても、#N/Aというエラーが表示されるケースがあります。
このケースは、Z102という商品コードに該当する商品名がリストにないために発生したエラーです。「該当データなし」ということなのですが、商品コードの入力を間違えなければエラーは発生しません。
【入力規則のリストでエラーを防止】
商品コードなどの検索値は【入力規則のリスト】を使うことで入力ミスを抑制することができますので確認しておきましょう。商品コードのB列。
B2:B4を範囲選択して、データタブの「データの入力規則」をクリックします。
データの入力規則ダイアログボックスが表示されています。
設定タブの入力値の種類を「リスト」に設定したら、元の値には、入力値を選択します。
今回は、リストというシートに用意してありますので、A2:A4を範囲選択すると「=リスト!$A$2:$A$4」と入力されますので、OKボタンをクリックします。
プルダウンメニューを表示することができて、データを選択することができます。
【空白の場合】
商品コードの入力ミスは抑制することができるようになりましたが、そもそも入力するデータがない場合はどうしたらいいのでしょうか?そこで、次のように考えます。
空白だったら、空白、そうでなければ、VLOOKUP関数。
そう、IF関数を使えば解決します。
また、エラー時に対応することができる、IFERROR関数でも対応することができます。
【IF+VLOOKUP関数】
C2の数式を削除して、IF関数ダイアログボックスを表示します。論理式には、商品コードが空白だったらということを設定しますので、B2=""
値が真の場合には、空白だったら、空白なので、””
値が偽の場合ですが、ここにVLOOKUP関数を設定します。
名前ボックスの▼をクリックすると、直近で使用した関数が表示されていますので、VLOOKUP関数を選択します。
もしない場合は、「その他の関数」から選択しましょう。
あらたに、VLOOKUP関数ダイアログボックスが表示されます。
検索値には、B2
範囲には、リスト!$A$2:$C$4
列番号には、2
検索方法には、false
あとは、OKボタンをクリックします。
C2の数式は、
=IF(B2="","",VLOOKUP(B2,リスト!$A$2:$C$4,2,FALSE))
と設定することができましたので、オートフィルで数式をコピーしてみましょう。
このように、エラーを消すことができました。
IF+VLOOKUP関数のように、IF関数を使うことでエラー表示に対応することが可能になります。