ExcelのVLOOKUP関数で左側の値を取得する方法!

ExcelのVLOOKUP関数で左側の値を取得する方法!

Microsoft Excelで、VLOOKUP関数を使用して左側の値を取得したいと思ったことはありませんか?この記事では、ExcelのVLOOKUP関数で左側の値を取得する方法・VLOOKUP関数以外の方法で左側の値を取得する方法をご紹介しています。


目次[非表示]

  1. ExcelのVLOOKUP関数で左側の値を取得したい
  2. ExcelのVLOOKUP関数で左側の値を取得する方法

ExcelのVLOOKUP関数で左側の値を取得したい

ExcelVLOOKUP関数で左側の値を取得したい」と思ったことはありませんか?VLOOKUP関数は便利なのですが、弱点があります。それは「取得したい値のある列が検索範囲よりも左側にある」というケースです。この場合、VLOOKUP関数が働かなくなってしまうため値を取得することができません。

ですので、基本的に左側の値を取得するにはVLOOKUP関数以外の関数を使用することが基本となります。

ExcelのVLOOKUP関数で左側の値を取得する方法

どうしてもExcelのVLOOKUP関数で左側の値を取得したい場合

それでは、ExcelのVLOOKUP関数で左側の値を取得する方法を説明します。

エラーが出る
冒頭で説明している通り、VLOOKUP関数では検索列よりも左の値(マイナス方向)を取得することはできません。画像のように数式を入力しても、エラーが返されてしまいます。

手っ取り早く解決したいのであれば、列を入れ替えるなどして対象の検索列を移動することでVLOOKUP関数を使用できるようにするという方法があります。ただし表が崩れてしまうことになるので、「一つの問題を解決するために使用してすぐに表を戻せる」というケースで使用するようにしましょう。Excelで列を入れ替える方法は下記リンク先の記事にてご紹介していますので、併せてご覧ください。

Excelで列を入れ替える方法をご紹介!

Microsoft Excelで、シート内の列の入れ替えを行いたいと思ったことはありませんか?列を入れ替える方法ですが、キーボードとマウスを使用して簡単に列の入れ替えを行うことができますよ。この記事では、Excelで列を入れ替える方法をご紹介しています。

Thumb

INDEX関数とMATCH関数を組み合わせて左側・左端以外の値を取得する方法

上記の方法では列を動かすことが前提になるので、どうしても列が動かせない場合は困ってしまいますよね。そこで、セル範囲から指定された行と列が交差している位置にあるセルの参照を返すための「INDEX関数」と、セルの範囲内で指定された項目を検索して項目の相対的な位置を返す「MATCH関数」を使用することで、VLOOKUP関数のように値の取得を行うことができます。

 

INDEX関数の書式は「=INDEX(参照, 行番号, [列番号], [領域番号])」と「=INDEX(配列, 行番号, [列番号])」の2通りがありますが、ここでは前者の「=INDEX(参照, 行番号, [列番号], [領域番号])」で参照を行っていきます。

INDEX関数とMATCH関数の組み合わせ
画像では、「=INDEX(B1:B9,MATCH(H9,D1:D9,0))」と入力して「結果(No.)」を表示させています。まずINDEX関数で参照する範囲を指定しています。この例ではB1:B9が参照範囲になります。そして参照を行うセルがINDEX関数で指定した参照範囲のどこにあるかを調べるためにMATCH関数を使用しています。

MATCH関数で検索列を指定して、検索値が上から何番目にあるのかを調べています。これにより、VLOOKUPと同じ働きをしつつもVLOOKUPではできない左側の列からの値の取得ができているわけですね。

XLOOOKUP関数を使用して左側・左端以外の値を取得する方法

2020年よりExcelに追加されたVLOOKUP関数の進化版といえる「XLOOKUP関数」を使用することで、更に簡単に左側・左端以外の値を取得することができますよ。ただし使用できるのは「Office 365」・「Excel 2021以上のバージョン」となるので注意が必要です。

XLOOKUP関数の書式は「=XLOOKUP(検索値, 検索範囲, 戻り配列, [見つからない場合], [一致モード], [検索モード])」です。上記の例のように「結果(No.)」を求めたい場合は、「=XLOOKUP(H9,D1:D9,B1;B9)」と入力することで値を取得して表示させることができますよ。


関連記事