Excel術

VLOOKUPが使えない!Excelで左側から値を取り出す方法

「左側から値を取得したいけど、VLOOKUP関数だと上手くいかない!何とか左側の列から値を取得できないの?」

VLOOKUP関数は、右側の列の値を取得することは出来ますが、左側の列の値を取得することは出来ません。

以下の画像のように、「#N/A」と表示されるはずです。

しかし、INDEX関数とMATCH関数を組み合わせて使えば、左側の列の値を取得することが出来ます。

というわけで今回は、以下について解説していきます。

今回解説するポイント
  • INDEX関数の使い方
  • MATCH関数の使い方
  • INDEX関数とMATCH関数の組み合わせ方法

Excelが苦手な人でも理解出来るように、細かく解説しているので、ぜひ参考にしてください!

INDEX関数の使い方

そもそもINDEX関数とは?

INDEX関数とは、指定した行と列が交差する位置にあるセルの値を参照する関数です。

上記がINDEX関数を使った例です。

選択した範囲「B3からD7」の中で、「3行目」「2列目」の交差しているセル「黒いブラウス」を取得していますね。

INDEX関数の式の解説

INDEX関数は、以下を設定して使用します。

=INDEX(範囲, 行番号, 列番号)

参照したい表の範囲を設定し、選択した範囲の行と列を設定するだけでOKです。

先ほどの例では、INDEX(B3:D7,3,2)というように使用しています。

INDEX関数で左側からも値を取ることが出来るが…

INDEX関数を使うことで、VLOOKUP関数で左側からデータを取得できない悩みが解決できます。

しかし、今のままだと行が固定になっているため、自動的にデータを取ることが出来ません。

もし「白いブラウス」の商品番号を取得したいなら、自分で行番号を「2」に変えないといけません。

VLOOKUP関数のように、商品名「黒いブラウス」を検索して商品番号を取得するようにしたいですよね。そのため、行番号を自動的に取得するようにします。

「行番号を自動的に取得ってどうするの?」という疑問が出てきますが、ここで登場するのがMATCH関数です。

MATCH関数の使い方

そもそもMATCH関数とは?

MATCH関数とは、選択した範囲の中でデータを検索し、範囲の中で何番目に存在するかを教えてくれる関数です。

上記がMATCH関数を使った例です。

黒いブラウスが表の中だと3行目に存在しますが、ちゃんと「3」が取得出来ていますね。

MATCH関数の式の解説

MATCH関数は、以下を設定して使用します。

=MATCH(検索する値(セル), 検索する範囲, 照合の型)

まずは、検索する値と範囲を設定します。

検索する値は、以下のように直接書き込んでも良いですし、セルを指定してもOKです。(ただし、セルを指定することがほとんどです)

「照合の型」は、以下のように分類されています。

「照合の型」の種類
  • 「1」:検索値以下の最大の値
  • 「0」:検索値と完全一致した値
  • 「-1」:検索値以上の最小値の値

特別な理由が無い限りは、「0」を使った方が良いです。今回の検索も、「0」を使用しています。

INDEX関数とMATCH関数を組み合わせてみる

では、いよいよINDEX関数とMATCH関数を組み合わせて使用してみます。

組み合わせると、以下のような式になります。

=INDEX(範囲, MATCH(検索値, 検索範囲, 照合の型), 列番号)

慣れないうちから一気に組み合わせるとミスを起こしやすいです。

そのため、今から紹介する方法のように、分けながら進めていくことをオススメします。

1.INDEX関数で値を取得

まずは、通常のINDEX関数で値を取得してみましょう。以下がINDEX関数の使用方法でしたね。

=INDEX(範囲, 行番号, 列番号)

ただし行番号が自動ではないので、ここでMATCH関数で行番号を取得して組み合わせます。

2. MATCH関数を組み合わせる

先ほどのINDEX関数にMATCH関数を組み合わせます。つまり行番号の部分が、MATCH関数になります。

=INDEX(範囲, 行番号, 列番号)

=INDEX(範囲,MATCH(検索値, 検索範囲, 照合の型) , 列番号)

これで、行数も自動的に取得できるようになりました!これで左側からもデータを取得できます。

今までVLOOKUP関数が使えなくて涙を流していた人も、INDEX関数とMATCH関数を組み合わせる方法を使ってみましょう!

INDEX関数とMATCH関数でエラーが出るときは?

「INDEX関数とMATCH関数を組み合わせてみたけど、エラーが出て上手く表示されない…」

そんなときは、以下を見直してみて下さい。

エラーが出たときの確認項目
  1. 検索する範囲が、ずれていないか?
  2. MATCH関数の「照合の型」が省略されていないか?

1. 検索する範囲が、ずれていないか?

コピーして使うと、検索する範囲がずれてしまいます。その結果、範囲から外れて上手く表示されない場合があります。

基本的に選択範囲は、以下のように絶対参照に設定して(“$”を付けて)範囲を固定しましょう。

2. MATCH関数の「照合の型」が省略されていないか?

MATCH関数の「照合の型」は、実は省略しても使用できます。

ただし、その場合は「1」が設定されてしまうので、上手く表示されないことが多いです。

ですので、「照合の型」は省略せずに「0」を必ず付けるようにしましょう。

INDEX関数とMATCH関数を組み合わせてデータを取得しよう!

INDEX関数とMATCH関数を組み合わせる方法について解説しました。

表からデータを取得したいときはVLOOKUP関数が便利ですが、左側から取得したいときに、ぜひ今回の方法を使ってみて下さい。

使い方をマスターして、仕事の効率を上げていきましょう!

※不明点やエラーが出て解決できない時は、TwitterのDM送っていただけたらお答えします!

つばさのTwitter:@tubasablog