Vlookup関数で左側を表示したいとき

Vlookup関数では通常検索対象の左側を表示することはできません。
しかしデータの形式によっては左側の表示がどうしても必要になることもあります。

今回はその対処方法を幾つかご紹介します。

目次

Vlookupの弱点について

検索対象の左側を表示する方法1(簡易)

検索対象の左側を表示する方法2(計算式組み合わせ)



Vlookupの弱点について

以前に記事で書いているVlookup関数はExcelで表を作成する際に非常に便利なものです。
マスターを作成しておけば検索対象のデータを表示することが出来るため入力間違いの防止につながりますしマスター管理も一元化することが出来ます。

しかしVlookup関数もにも弱点はあります。
それは「検索対象の右柄しか表示できない」ということです。

これはマスターを作る際に気を付けるか、仮にマスターが完成した後でも配置を修正すれば済む話なのですが、既に計算式を複数使っており入れ替えすることで予期せぬエラーが発生する可能性があり回避したい場合や、複数人でマスターを兼用している場合など配置を修正することが容易ではない場合もあります。

結論から書くとVlookup関数では対応できませんし、現時点で左側を表示する計算式は存在しないようなのですが諦めるのは早いです!
対処方法は大きく2つありますので是非試してください。

検索対象の左側を表示する方法1(簡易)

まず手っ取り早い方法です。
マスターのデータの一番右側に項目を1つ増やしましょう。
そして計算式で表示したい項目を表示するだけです。
(例えばA列を表示したいのであれば=A2など)

あとは簡単ですね。
検索候補の右側にデータが表示されているわけですからVlookup関数で簡単に対応できます。

検索対象の左側を表示する方法2(計算式組み合わせ)

手っ取り早いのは1の方法なのですが、場合によっては項目を追加できないこともあるでしょう。

そのような場合には計算式を組み合わせることで対応可能です。
とはいえVlookup関数ではどう頑張っても右側は表示できませんので。今回ご紹介する関数は別のものです。

まずは「INDEX関数」。
この関数では対象データの行・列番号を指定することで、指定された場所にあるデータを表示することが出来ます。
(例 =INDEX(TEST!A:B,2,1) この計算式ではTESTシートの2行目、1列目、つまりA2のデータが表示されます)

次に「MATCH関数」。
この関数では検索対象のデータが何行目にあるか、というのを表示することが出来ます。
(例 = MATCH(TEST!A1,マスター!A:A,FALSE) この場合、TESTシートのA1のデータと合致するものをマスターシートA列から探し、何行目にあるかの結果が表示されます。)

これを組み合わせて使うわけです。
見本では、”=INDEX(マスター!A:A,MATCH(売上明細!B3,マスター!B:B,FALSE),1)”という計算式を使っています。

この場合、表示したいのはマスター!A:Aであり検索対象と合致した項目です。

検索対象が”売上明細!B3”で、これと同じデータが表示されます。
検索候補が”マスター!B:B”でこの何行目に売上明細!B3を同じデータがあるかを見ているわけです。

Vlookupの書き方に合わせると、
“=INDEX(表示したい範囲,MATCH(検索値,検索する範囲,FALSE),列番号)”といった感じでしょうか。
列番号については数値で設定できますが、基本的には1で問題ないでしょう。

簡易版と比べるとややこしく感じるかもしれませんが、2つの計算式を理解し何度か使っていけばスムーズに利用できるようになるはずです。

Vlookupではどうにもならないときにはぜひお試しあれ。



シェアする

フォローする