vlookupでは検索する値が対象範囲の左端になっている必要があります。ただし、表によってはそうのような構成担っていないケースも業務の現場では多いです。このようなときにvlookup用に元のデータを変更することなく、検索したい値の左側のデータを取得する方法があります。
vlookup関数を使わず、INDEX関数とMATCH関数で代替
ともかくこれがサンプルファイルです。
基本的にはこのサンプルファイルをご覧いただければ大丈夫ですが、簡単な解説を致します。
MATCH関数
MATCH関数は検索したい値を指定して、対象の列や範囲で上から何番目にあるかの番号を取得できます。下のスクショの場合は、2022/01/01の日付がB列で何番目にあるかを調べています。ここでは上から4番目になります。
INDEX関数
INDEX関数では参照範囲に対して、行番号と列番号を指定して値を取得できます。既にMATCH関数で行番号を取得できているので、列番号を指定するだけで良いです。列も1列だけ指定するのであればそもそも 1の指定だけです。
まとめ
vlookupを使わずに、該当日の売上データを取得するには、
- INDEX関数で、最終的に取得したい列または範囲を指定
- INDEX関数で何行目を取得するのか?をMATCH関数で指定(サンプルD列の特定日付をB列から検索して行番号を取得)
- INDEX関数で何列目を指定するかは1列のみなので1
こんな感じになります。簡単ですよね。是非 vlookupの右側のみの使い方に縛られずデータを使いこなしましょう!
株式会社 GLASS代表。広告からSEOなどあらゆるデジタルマーケティングに精通するデータアナリスト。徹底的に現場に根付いた、スピーディーでシンプルなデータ分析環境の構築と施策推進を得意とする。
<経歴>
株式会社マイネットでモバイルCRMサービス(後にYahoo! JAPANに売却)のマーケティング部長、モバイルアプリ事業を立ち上げ。Googleで広告代理店営業マネージャーとして国内50社以上の広告代理店のコンサルティング。通信テクノロジー業界シニアアカウントマネージャーとして大手企業向けのマーケティング支援に関わる。