vlookup関数で左側の値を取得する方法、、、って意味あるの?
ウェブで調べていると、
vlookup関数で左側の値を取得する方法はないですか?
という質問をよく見ます。
そして、よく見かけるのが、
「vlookup関数だと無理だけれど、
match関数・offset関数を組み合わせるとできる」
という回答。
もちろん、それで取得できるのですから、
正しい方法なんですが、
それってどうなのか?という話です。
vlookup関数では本当に無理なの?
私の場合、結構出てくるのが、
勘定科目の逆引きをしたい、というケースです。
弥生会計という会計ソフトを使っているのですが、
仕訳データをダウンロードすると、
仕訳データの中に、勘定コードが含まれておらず、
勘定科目名しか入っていないのです。
そのまま使っているのならば、
おおきな実害はありません。
問題になるのは、
その仕訳データをピボットテーブルで加工するときです。
勘定科目コードがデータにないので、
勘定科目コード順に並べることができません。
ですから、
何も考えずに
ピボットテーブルを使うと、
勘定科目名の順番で並んでしまい、
勘定科目の並び順がグチャグチャになってしまうのです。
そこで、
勘定科目名から、勘定科目コードを逆引きしよう、
(=勘定科目名→勘定科目コードをvlookup関数で取得しよう)
ということで、
冒頭の「左側の値を取得できるか?」
という話が出てくるわけです。
難しいことしないでvlookup関数を使えるように工夫すれば?
で、私がどうやっているかというと。
例えば、
A2~A100:勘定科目コード
B2~B100:勘定科目名
が入っていて、
勘定科目名→勘定科目コードを拾いたい、という場合。
C2セルに「=A2」と入れて、C100セルまでコピー。
結果、
A2~A100:勘定科目コード
B2~B100:勘定科目名
C2~C100:勘定科目コード(=A列と同一内容)
が入ります。
これで、勘定科目コードが、勘定科目名の右側に来たので、
あとは、
と入れて、抽出完了です。
無理に、
左側のデータを取得しようとするより、全然楽です。
変に関数を覚えようとするより、
既存の知識でぱっぱっと処理できるなら、
それでいいと思うんですが、どうでしょうか?