クリエイターの教科書

ChatGPT, Stable Diffusion, Visual Studio, Excelなど教科書

【エクセルの練習】VLOOKUPとは? 結果がおかしい場合は?

エクセルには、表を検索してその行にある別の列の値を取得することができます。利用するには「VLOOKUP関数」を使います。

VLOOKUPとは?

Loupe & lettres

Vlookup

Vlookup」関数を使うと、指定した範囲内で検索でみつかった行にある別の列のデータをひっぱってくることができます。

f:id:apicode:20190617204206p:plain

 

書き方は

VLOOKUP(検索文字、セル範囲、何列目を返すか指定、[検索方法])

です。


例えば以下のような情報がセルに入力されているとします。

A列で「iPhoneX」と合致する行がみつかったら、3列目の情報を取得するには、「=VLOOKUP("iPhoneX",A1:D6,3)」と記述します。

「iPhoneX」が検索ワード、「A1:D6」が情報を探す対象となるセルの範囲です。

f:id:apicode:20190617201313p:plain

 

HLOOKUP

VLOOKUPでは縦方向に検索しますが、横方向に検索。検索が一致した場合に、その列の違う行を取得します。

 

A2~C6のセルが探す範囲です。

2行目で「74800」と合致する列がみつかったら、そこから4行目の情報を取得するには、「=HLOOKUP(74800,A2:C6,4)」と記述します。

f:id:apicode:20210415105844p:plain

  

VLOOKUP,HLOOKUPの不具合は?

違う結果がかえってくる?

下は検索文字が「iPhone」でなく「isPhone」と間違え検索ワードを使っています。

すると全然関係ないGalaxyの在庫数の値が返ってきました。

f:id:apicode:20210415100623p:plain

 

VLOOKUP関数は、近似一致といって、検索ワードが完全に一致していない場合でも、似ている値をピックアップするようになっています。

 

結果として、意図したとおりの動作にならないということが起きます。

 

これを防ぐには、4つめの引数としてFALSEを指定します。

 

4つ目のパラメータは、完全一致か近似一致かを指定するものです。Falseならば完全一致で検索をかけます。

  

完全一致でVLOOKUP,HLOOKUPを使うなら

=VLOOKUP("isPhone8",A1:D6,3)

を、

=VLOOKUP("isPhone8",A1:D6,3,FALSE)

のように書きます。

 

#N/A!エラーがでる

VLOOKUPでは、1列目のデータから該当文字を検索します。

VLOOKUPで1列目でデータを探して見つからない場合N/Aエラーが出ます。

 

見た目が一緒なのに検索で合致しないという場合は、数値文字列...のようにデータが違っている場合です。片方は数値なのに片方は文字列として入っている場合には、見た目は一緒でも別のデータとして扱われます。

 

対策としては、数値をTEXT()関数を使って文字列扱いにして検索する...といった対応が必要でしょう。

 

#REF!エラー

VLOOKUPでは、セル範囲を指定する場合複数行してする必要があります。

「A1:A6」のように参照するとREFエラーとなります。

 

「A1:B6」のように最低でも2行以上指定しましょう。

 

また、2列だけ指定してて、 「何列目を返すか指定する番号」に3といれると、これも参照エラーとなります。

 

この場合3列は最低でも指定しておく必要があります。

このブログは、ネットや書籍上の情報、個人の体験や感想を中心にまとめたものです。 正確性を期していはいますが、間違い・誤訳等あるかもしれません。 当サイトの情報によって生じたいかなる損失について一切の責任を負わないものとします. あらかじめご了承ください。

プライバシーポリシー |〇利用規約 |〇問い合わせ