トレンド PR

vlookupで初心者が間違うポイント #N/Aが表示される、ユニークキーでないエラー

記事内に商品プロモーションを含む場合があります

 

vlookupが使えるとデータの操作がかなり早くなります。

ですが、最初の頃は、よくエラーになってしまって、その理由が分からず困ってました。

初心者が最初にけつまづくのは

結果が#NAになる

#NAになるときは、データがなかったり、そもそもの式(参照先とか)が違うことが原因になります。

参照先が違う

わざと、NAを出してみました。

本当はC列~E列を範囲としないといけないのですが、A列から範囲をとってしまったのでエラーとなっています。

ありがちなミスになります。

ぼーっとして、作ったりするとこうなったりします😥

 

#N/Aエラーを出したくないとき

参照先があっていても、あるはずのデータが表にないことがあります。この場合は、エラーというかエラーではなく、ただ、探したい値が表にないだけで、エラーではない場合があるんですね。

例えば10月のデータにはMANGOがあった、12月にはなかった、でも1年間のデータを一覧でみたい場合、など。

こういうときは、

「iferror」で、空白にしましょう。

=IFERROR(VLOOKUP(G3,$B$2:$E$13,2,FALSE),””)

”” は空白という意味です。

 

相対参照ではなく、絶対参照にする

次にある失敗が「絶対参照」にし忘れるということ。

vlookupを使うからには、いくつか集計したいデータがあってそれをコピーしたいからですよね。

ですので、範囲、のところでは必ず「絶対参照」にしましょう。

これは相対参照

=IFERROR(VLOOKUP(G3,B2:E13,2,FALSE),””)

こっちが絶対参照

=IFERROR(VLOOKUP(G3,$B$2:$E$13,2,FALSE),””)

範囲のところで、F4をクリックしてくださいね!

 

false と trueの違い

通常は「false」が使われると思います。

=VLOOKUP(G5,$C$2:$E$13,3,FALSE)

なぜならば、「orange」はユニーク(なものである事が多い)であり、それと完全一致するものを検索しているからです。

ですが、たまに表に同じものが2つあることがあります。

orangeはBとAのスーパーにあり、金額も違いますよね。

false=完全一致で上から見て、最初にorangeに一致した金額を表示。

一方 trueでは、上から順に一番下で、一致した金額を表示。また、trueは完全一致でなく、部分一致でも表示されます。

なので、あまりtrueは使われない、使う頻度が少ないかと。

 

そこで、ユニークキーにすることがたまにあります。

列と列をつなげてユニークキーにする

型番、などがあれば、それはきっとユニークなのですが、ない場合は「作成」することも可能です。

E列にCとDを組み合わせてユニークキーをつくりました。

CとD列を”&”で繋ぎます。

 

そうすると、Bスーパーのオレンジ、Aスーパーのオレンジとそれぞれ一致する金額を表示させることができます。

この、ユニークキーが列にない場合は列と列を繋げるという方法はかなり重宝するので、使ってみてくださいね。