【VLOOKUPエラー事例】Excel・VLOOKUP関数は、一番左の列から探す

ExcelのVLOOKUP関数について質問事例があり、間違いやすいところでもありますので、記事にしました。
スクリーンショット 2014 07 11 9 29 03

VLOOKUP関数で科目コードを表示する

事例は、こういったコード表(コード、科目名)があり、
スクリーンショット 2014 07 11 9 50 36

科目名を入力すると、コードを表示するものです。
スクリーンショット 2014 07 11 9 49 57

通信費だと、コードは8430であり、「通信費」を探し出して、コード8430を表示します。
スクリーンショット 2014 07 11 9 51 38

支払手数料だと8580です。

こういったケースで、VLOOKUP関数が使えます。
特定の項目(事例の場合「通信費」)を探し出し、対応する値を表示するのです。

今回の事例は、会計ソフトのマネーフォワードから、財務応援へデータをうつすというものでした。
マネーフォワードでは、通信費となっているものを、財務応援でデータを取り込む場合、コード(8430)にしなければいけません。
こういった場合に、VLOOKUP関数が使えるのです。

エラーの原因

しかし、事例では、エラーがでています。
スクリーンショット 2014 07 11 9 20 28

数式を見てみると、こうなっていました。
スクリーンショット 2014 07 11 9 20 43

=VLOOKUP(E2,A:B,1,FALSE)

と対応させると、
E2→探す値
A:B→探す範囲(指定した範囲のうち一番左の列から探します)
1→範囲のうち、何列目を表示するか
False→完全一致したもののみ表示
といった関係です。

数式を読み解くには、文章に置き換えてみると、わかりやすくなります。
この場合は、

「E2(通信費)を、範囲(A:B)のうち一番左のA列から探し出し、1列目を表示する。ただし、完全に一致したものを表示」

となります。

もう一度事例を見てみると、探すべき「通信費」は、A列にはなさそうです。
A列はコードが入っている列だからです。
スクリーンショット 2014 07 11 9 20 43

当然、Excelとしては、エラーを出し、「通信費は見つからなかったよ」と意思表示してきます。

VLOOKUP関数のルール

VLOOKUP関数のルールとして重要なのは、「探し出すのは、範囲のうち、一番左の列」というものです。
むしろ範囲はA:Cでも、A:Zでもかまいません。

一番左にあるかどうかが重要なのです。

これだと、一番左に、「通信費」はありませんので、コード表自体が正しくないということになります。
スクリーンショット 2014 07 11 9 20 43

コード表をこのように入れ替えれば、「通信費」をA列(範囲のうち一番左)から探し出し、
スクリーンショット 2014 07 11 9 29 03

正しく表示してくれます。

=VLOOKUP(E2,A:B,2,FALSE)
ですので、「E2(通信費)をA列(範囲のうち一番左の列)から探しだし、探し出したら(完全一致)、2列目を表示する」という意味です。

スクリーンショット 2014 07 11 10 11 51

=VLOOKUP(E2,A:B,2,FALSE)は、
=VLOOKUP(E2,A:B,2,FALSE)

=VLOOKUP(E2,A:C,2,FALSE)

=VLOOKUP(E2,A:D,2,FALSE)

=VLOOKUP(E2,A:Z,2,FALSE)

でもかまいません。とにかく一番左に対象のものがあればいいわけです。

ただし、

=VLOOKUP(E2,A:A,2,FALSE)

はエラーとなります。
範囲内に、「2」で指定した2列目がないからです。

VLOOKUP関数は必須であり、かなり役に立ちますので、是非マスターしましょう。
関連記事はこちらです。
■Excel VLOOKUP関数 | EX-IT





【編集後記】

昨日、お昼前後に『ひとり社長コンサルティング』。
特殊な業種の方で、非常に興味深かったです。
税金面、会計面でもかなり改善の余地がありました。

スポットで随時受け付けています。
個別コンサルティング

【1日1新】
※詳細は→「1日1新」

■スポンサードリンク

近所のパン屋のベーグル
某所でひとり社長コンサルティング
新企画のセミナー告知(メルマガ『税理士進化論』限定)
目黒居酒屋ランチ