ExcelのVLOOKUP関数で左側の値を取得したい
「ExcelのVLOOKUP関数で左側の値を取得したい」と思ったことはありませんか?VLOOKUP関数は便利なのですが、弱点があります。それは「取得したい値のある列が検索範囲よりも左側にある」というケースです。この場合、VLOOKUP関数が働かなくなってしまうため値を取得することができません。
ですので、基本的に左側の値を取得するにはVLOOKUP関数以外の関数を使用することが基本となります。
ExcelのVLOOKUP関数で左側の値を取得する方法
どうしてもExcelのVLOOKUP関数で左側の値を取得したい場合
それでは、ExcelのVLOOKUP関数で左側の値を取得する方法を説明します。
手っ取り早く解決したいのであれば、列を入れ替えるなどして対象の検索列を移動することでVLOOKUP関数を使用できるようにするという方法があります。ただし表が崩れてしまうことになるので、「一つの問題を解決するために使用してすぐに表を戻せる」というケースで使用するようにしましょう。Excelで列を入れ替える方法は下記リンク先の記事にてご紹介していますので、併せてご覧ください。
INDEX関数とMATCH関数を組み合わせて左側・左端以外の値を取得する方法
上記の方法では列を動かすことが前提になるので、どうしても列が動かせない場合は困ってしまいますよね。そこで、セル範囲から指定された行と列が交差している位置にあるセルの参照を返すための「INDEX関数」と、セルの範囲内で指定された項目を検索して項目の相対的な位置を返す「MATCH関数」を使用することで、VLOOKUP関数のように値の取得を行うことができます。
INDEX関数の書式は「=INDEX(参照, 行番号, [列番号], [領域番号])」と「=INDEX(配列, 行番号, [列番号])」の2通りがありますが、ここでは前者の「=INDEX(参照, 行番号, [列番号], [領域番号])」で参照を行っていきます。
MATCH関数で検索列を指定して、検索値が上から何番目にあるのかを調べています。これにより、VLOOKUPと同じ働きをしつつもVLOOKUPではできない左側の列からの値の取得ができているわけですね。
XLOOOKUP関数を使用して左側・左端以外の値を取得する方法
2020年よりExcelに追加されたVLOOKUP関数の進化版といえる「XLOOKUP関数」を使用することで、更に簡単に左側・左端以外の値を取得することができますよ。ただし使用できるのは「Office 365」・「Excel 2021以上のバージョン」となるので注意が必要です。
XLOOKUP関数の書式は「=XLOOKUP(検索値, 検索範囲, 戻り配列, [見つからない場合], [一致モード], [検索モード])」です。上記の例のように「結果(No.)」を求めたい場合は、「=XLOOKUP(H9,D1:D9,B1;B9)」と入力することで値を取得して表示させることができますよ。