スプレッドシートのVLOOKUP関数で左側を抽出する方法

記事内の「“”」「‘’」が全角になっていますが、スプレッドシートで指定する場合は半角に変更してください

本記事では、スプレッドシートのVLOOKUP関数で検索列より左側を抽出する方法を解説していきます。

基本的に左側を抽出することはできませんが、一工夫することで可能になります。ぜひ参考にしてみてください。

目次

VLOOKUP関数で検索列より左側を抽出する方法

それでは、実際にVLOOKUP関数を使って左側を抽出してみましょう。

今回は以下の画像を用いて解説していきます。

やりたいこと

単価が¥500の商品名を取得したい

この場合、検索キーを探す範囲は一番右列のC列になります。

第2引数で指定する範囲を分割して結合する

以下のように指定します。

=VLOOKUP(500,{C3:C7,A3:B7},3,false)

ポイントは{C3:C7,A3:B7}の部分です。

これは、検索キーの列(C3:C7)とそれ以外の列(A3,B7)を一度分割し、{}(波かっこ)で結合しています。

つまり、強制的に検索キーの列を1列目に移動しているという訳です。そのため、第3引数で指定する番号もその分ずれるのでご注意ください。

上記はC3:C7A3:B7の2つに分割しましたが、以下のように1列ずつ分割することも可能です。

=VLOOKUP(500,{C3:C7,A3:A7,B3:B7},3,false)

INDEX+MATCH関数で左側を抽出できる

INDEX関数とMATCH関数を組み合わせることで左側の値を取得することもできます。

VLOOKUP関数で取得した値を、INDEX+MATCH関数で取得してみましょう。

=INDEX(A3:C7,MATCH(500,C3:C7,0),MATCH(“商品名”,A2:C2,0))

INDEX関数とMATCH関数を組み合わせて使う方法を覚えておくと、いろいろな場面で重宝します。

まとめ

今回は、VLOOKUP関数で左側を取得する方法をご紹介しました。

列を分割して結合し直すやり方は、別の人が見たら少しわかりづらいので、できればINDEX+MATCH関数で取得する方が好ましいです。

目次