vlookup関数で不可能な左側を列番号指定で検索する方法(サンプルファイル付き)

vlookupでは検索する値が対象範囲の左端になっている必要があります。ただし、表によってはそうのような構成担っていないケースも業務の現場では多いです。このようなときにvlookup用に元のデータを変更することなく、検索したい値の左側のデータを取得する方法があります。

vlookup関数を使わず、INDEX関数とMATCH関数で代替

ともかくこれがサンプルファイルです。

https://docs.google.com/spreadsheets/d/1hgADNvky78l519dtwVMyW3hQUtZds_Rk3I0YG2y6cpE/edit#gid=231309075

基本的にはこのサンプルファイルをご覧いただければ大丈夫ですが、簡単な解説を致します。

MATCH関数

MATCH関数は検索したい値を指定して、対象の列や範囲で上から何番目にあるかの番号を取得できます。下のスクショの場合は、2022/01/01の日付がB列で何番目にあるかを調べています。ここでは上から4番目になります。

INDEX関数

INDEX関数では参照範囲に対して、行番号と列番号を指定して値を取得できます。既にMATCH関数で行番号を取得できているので、列番号を指定するだけで良いです。列も1列だけ指定するのであればそもそも 1の指定だけです。

まとめ

vlookupを使わずに、該当日の売上データを取得するには、

  • INDEX関数で、最終的に取得したい列または範囲を指定
  • INDEX関数で何行目を取得するのか?をMATCH関数で指定(サンプルD列の特定日付をB列から検索して行番号を取得)
  • INDEX関数で何列目を指定するかは1列のみなので1

こんな感じになります。簡単ですよね。是非 vlookupの右側のみの使い方に縛られずデータを使いこなしましょう!

GLASSで一緒に働いてみませんか?