7/15/2014

Excel。VLOOKUP関数。その4 #N/Aエラーを回避する為のIF関数


Excel。VLOOKUP関数。その4 
#N/Aエラーを回避する為のIF関数

VLOOKUP関数+IF関数


前回までVLOOKUP関数の作り方をご紹介してきましたが、前回までですと、ちょっと実務で使うのには、ちょっと困ったことが発生してしまうのです。

まずは、VLOOKUP関数をオートフィルで下方向に連続コピーをしてみましょう。そうすると、#N/Aエラーが表示されてしまいました。

#N/Aは、エヌエーと読みます。正式には、No Assign (ノー・アサイン)で、値がないというエラーなのですが、何の値が無いのかというと、商品コード。つまり検索値が空白の為に出たエラーなのです。こんなエラーが表示しているまま、この納品書をお客様に送っていいわけがありませんよね。かといって、エラーを表示させないために、作成する都度に、商品名にある数式を消したり、コピーしたりを繰り返すというのは、あまりにも効率的ではありませんし、商品名を入力した時にミスをしないために、VLOOKUP関数を使ったのにも関わらず、これでは、意味がありませんね。

ですので、今回は、この#N/Aエラーを表示させないようにするためには、どうしたらいいのかをご紹介していきます。

さて、紹介の前に、商品コードを入力しておかないと、この#N/Aエラーが表示されてしまう訳です。つまり、VLOOKUP関数を最初に紹介した時に、商品コードはダミーでいいので入力しておきましょう。と書いたのは、空白のままVLOOKUP関数を作成すると、このエラーが発生してしまうので、慣れていない方ですと、VLOOKUP関数の作成でミスったのか?それともVLOOKUP関数は大丈夫で、検索値が空白でエラーが表示されているのか?わからないからです。

まず、始める前に、このようなエラーを表示させないためにする方法は、IF関数を使うと解決します。
商品コードが空白だったら、空白。そうでなかったら、VLOOKUP関数で検索する
という数式を作ればいいわけです。
IF+VLOOKUP関数を作っていきます。
せっかく作った数式ですが、C4:C19の数式を削除しましょう。
そうしたら、C4をクリックして、IF関数のダイアログボックスを表示しましょう。

論理式は、商品コードは空白ですか?という事ですので、
B4=””
真の場合は、商品コードは空白だったら、空白という事ですので、
“”
そして、偽の場合。ここにVLOOKUP関数を作っていきます。
偽の場合のボックスにカーソルがあるのを確認して、名前ボックスの▼をクリックして、
VLOOKUP関数を選びましょう。無い場合は、その他の関数をクリックして、VLOOKUP関数のダイアログボックスを表示させましょう。

今度は前回同様にVLOOKUP関数を作っていきます。
検索値は、B4。
範囲は、商品マスターシートに移動して範囲選択しますので、
商品マスター!$A$2:$C$5
列番号は、2ですね。商品マスターに移動して確認した場合は、シート名がボックス内に入力されていますので、いったん消して、2だけを入力するんでしたね。
最後は、検索方法は、falseですね。
あとは、OKボタンをクリックして、完成ですね。

数式は、
=IF(B4="","",VLOOKUP(B4,商品マスター!$A$2:$C$5,2,FALSE))
これで、オートフィルでコピーしてもエラーが表示されなくなりましたね。