Excel。VLOOKUP関数。#N/Aというエラーの対策方法を改めて確認しよう。
<IF+VLOOKUP関数>
VLOOKUP関数を設定すると、「#N/A」というエラーが表示されることがありますが、この対策方法を改めて確認しておきましょう。
VLOOKUP関数を設定した表を用意しました。
C2には、
=VLOOKUP(B2,$E$2:$F$7,2,0)
というVLOOKUP関数をつかった数式が設定されています。
なお、E1:F7の範囲には、絶対参照も設定されています。
商品名は、E1:F7の商品リストから検索されて、「鉛筆 B」と表示されています。
このC2の数式を、オートフィル機能をつかって、C6までコピーしてみます。
#N/Aというエラーが表示されました。
この「#N/A(エヌエー)」は、ノーアサインといって、「検索したけど、見つからないぞ!」というエラーです。
そりゃ、商品コードになにも入力されていませんから、見つけることはできません。
また、商品コードを入力していても、E1:F7の範囲に該当するデータがなくても、見つけることができないので、#N/Aを表示します。
エラーが表示された場合、その都度、VLOOKUP関数の数式を削除したり、戻したりするのは、効率が悪すぎます。
そこで、商品コードが空白だからエラーが表示されるわけです。
なので、空白だったら、空白で表示して、そうでなければ、VLOOKUP関数を実施したいわけです。
「○○だったら○、そうでなければ○」というのは、分岐処理ですね。
分岐処理となれば、IF関数の登場です。
では、C2にIF+VLOOUP関数を設定していきます。
今回は、関数ダイアログボックスを使って確認してきます。
最初はIF関数ダイアログボックスを、表示させます。
論理式には、B2=””。
B2の「””(ダブルコーテーション×2連続)」は空白を意味します。
B2は空白ですか?と聞きます。
値が真の場合は「””(ダブルコーテーション×2連続)」。空白という結果を返します。
値が偽の場合には、VLOOKUP関数を設定します。
値が偽の場合のボックス内にカーソルがあることを確認したたら、名前ボックスが関数挿入ボックスに変わっていますので、▼をクリックして、直近に関数ダイアログボックスで設定した関数一覧が表示されますので、その中にVLOOKUP関数があれば、クリックします。
なければ、その他の関数からVLOOKUP関数を探します。
VLOOKUPをクリックすると、IF関数ダイアログボックスからVLOOKUP関数ダイアログボックスに変わります。
一瞬IF関数ダイアログボックスが消えてしまったように見えますが、数式バーを確認すると作成途中だとわかりますので、安心して作業を続けましょう。
ここからは、VLOOKUP関数を設定するだけです。
検索値には、B2。
範囲には、$E$2:$F$7
絶対参照を忘れずに設定しましょう。
オートフィル機能で数式をコピーする場合、だいたい範囲は絶対参照にしておいて、間違いはありません。
列番号は2
範囲の左から何列目のデータから抽出するの?ということなので、左から2列目なので、「2」
検索方法は、完全一致なので、「0」か「FALSE」を設定します。
OKボタンをクリックしたら、数式をオートフィル機能でコピーします。
C2の数式は、
=IF(B2="","",VLOOKUP(B2,$E$2:$F$7,2,0))
これで、「#N/A」に対応することができました。
IF+VLOOKUP関数以外にも、IF関数をつかうことで、エラー表示に対応することができます。