ExcelのVLOOKUP関数について質問事例があり、間違いやすいところでもありますので、記事にしました。
VLOOKUP関数で科目コードを表示する
事例は、こういったコード表(コード、科目名)があり、
科目名を入力すると、コードを表示するものです。
通信費だと、コードは8430であり、「通信費」を探し出して、コード8430を表示します。
支払手数料だと8580です。
こういったケースで、VLOOKUP関数が使えます。
特定の項目(事例の場合「通信費」)を探し出し、対応する値を表示するのです。
今回の事例は、会計ソフトのマネーフォワードから、財務応援へデータをうつすというものでした。
マネーフォワードでは、通信費となっているものを、財務応援でデータを取り込む場合、コード(8430)にしなければいけません。
こういった場合に、VLOOKUP関数が使えるのです。
エラーの原因
しかし、事例では、エラーがでています。
数式を見てみると、こうなっていました。
=VLOOKUP(E2,A:B,1,FALSE)
と対応させると、
E2→探す値
A:B→探す範囲(指定した範囲のうち一番左の列から探します)
1→範囲のうち、何列目を表示するか
False→完全一致したもののみ表示
といった関係です。
数式を読み解くには、文章に置き換えてみると、わかりやすくなります。
この場合は、
「E2(通信費)を、範囲(A:B)のうち一番左のA列から探し出し、1列目を表示する。ただし、完全に一致したものを表示」
となります。
もう一度事例を見てみると、探すべき「通信費」は、A列にはなさそうです。
A列はコードが入っている列だからです。
当然、Excelとしては、エラーを出し、「通信費は見つからなかったよ」と意思表示してきます。
VLOOKUP関数のルール
VLOOKUP関数のルールとして重要なのは、「探し出すのは、範囲のうち、一番左の列」というものです。
むしろ範囲はA:Cでも、A:Zでもかまいません。
一番左にあるかどうかが重要なのです。
これだと、一番左に、「通信費」はありませんので、コード表自体が正しくないということになります。
コード表をこのように入れ替えれば、「通信費」をA列(範囲のうち一番左)から探し出し、
正しく表示してくれます。
=VLOOKUP(E2,A:B,2,FALSE)
ですので、「E2(通信費)をA列(範囲のうち一番左の列)から探しだし、探し出したら(完全一致)、2列目を表示する」という意味です。
=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新」
近所のパン屋のベーグル
某所でひとり社長コンサルティング
新企画のセミナー告知(メルマガ『税理士進化論』限定)
目黒居酒屋ランチ
■著書
『税理士のためのプログラミング -ChatGPTで知識ゼロから始める本-』
『すべてをがんばりすぎなくてもいい!顧問先の満足度を高める税理士業務の見極め方』
ひとり税理士のギモンに答える128問128答
【インボイス対応版】ひとり社長の経理の基本
「繁忙期」でもやりたいことを諦めない! 税理士のための業務効率化マニュアル
ひとり税理士の自宅仕事術
リモート経理完全マニュアル――小さな会社にお金を残す87のノウハウ
ひとり税理士のセーフティネットとリスクマネジメント
税理士のためのRPA入門~一歩踏み出せば変えられる!業務効率化の方法~
やってはいけないExcel――「やってはいけない」がわかると「Excelの正解」がわかる
AI時代のひとり税理士
新版 そのまま使える 経理&会計のためのExcel入門
フリーランスとひとり社長のための 経理をエクセルでトコトン楽にする本
新版 ひとり社長の経理の基本
『ひとり税理士の仕事術』
『フリーランスのための一生仕事に困らない本』
【監修】十人十色の「ひとり税理士」という生き方