日々の業務の中で「VLOOKUP関数で複数の列項目を出力(抽出)したい」シーンに出くわしたことはありますでしょうか。
例えば以下のような場合です。
目的:「商品コード」を指定し、商品コードに紐づく複数の列項目(「商品名」「価格」「カテゴリ」「原価」「在庫数」「在庫高」「仕入れ先」)を出力する。
このような場合はどのように入力すればよいのでしょうか?
今回は次の3つの方法を解説いたします。
エクセルのVLOOKUP関数にて複数列(列番号を複数)出力する【方法1】
まず最初にVLOOKUP関数の基本構文を今回のサンプル事例に照らし合わせて表してみましょう。
この構文を踏まえた上で、複数の列項目を出力する【方法1】は、「列番号」を一つ一つ指定する方法です。
今回のサンプル事例では抽出したい項目は7項目です。(「商品名」「価格」「カテゴリ」「原価」「在庫数」「在庫高」「仕入れ先」)
各項目の列番号を以下のように一つ一つ指定します。
以下同様に「カテゴリ」は4列目、「原価」は5列目、「在庫数」は6列目、「在庫高」は7列目、「仕入れ先」は8列目となっているのでそれぞれ列番号を手入力します。(以下図の青丸部分にそれぞれ関数を入力)
【方法1】は、基本に忠実かつ一番「正攻法」といえる方法ですが、その反面「出力したい項目数」が増えれば増えるほど関数の入力箇所も増えますので面倒な方法です。
もう少し楽に入力できる方法はないのでしょうか?(もちろんあります!!)
とても楽な方法を次の項【方法2】で解説します。
【Excel】エクセルのVLOOKUP関数にて複数列(列番号を複数)出力する【方法2】
まず、楽に「列番号」を入力するために以下図(赤の四角部分)のようにあらかじめ列番号情報を入力しておきます。(※下準備)
その上でまず「商品名」出力欄(C3セル)に次のようにVLOOKUP関数を入力します。
ポイントは「下準備」として列情報を入力したセルを「参照」している点です。
(※尚、本記事では詳細説明を省きますがこの後の「コピー&ペースト」する時に参照セル座標を動かしたくない部分に「$」を付けています。)
とにもかくにもこれで「商品名」の出力欄に結果を表示させることが出来ました。
後は、関数を入力した「C3セル」をアクティブな状態(選択した状態)にして、セル右下の角(フィルハンドル)にマウスを合わせて「I列」まで右にドラッグすれば「C3セル」に入力されているVLOOKUP関数が「I3セル」までコピーされ、あっという間に完成です。(下図参照)
この方法を使えば出力したい列項目が何列であろうが一瞬(10秒程度)で入力できるので怖いものなしです。
エクセルのVLOOKUP関数にて複数列(列番号を複数)出力する【方法3】
【方法2】でも非常に簡単かつ瞬時に複数項目を出力できるのですが、更に瞬時に複数項目の抽出が可能な「XLOOKUP」という「VLOOKUP関数を進化させた」新しい関数が2021年登場しました。
本記事のサンプル事例「商品在庫一覧表」を使ってXLOOKUP構文を表すと以下のようになります。
このようにXLOOKUP関数を「C3セル」に入力するだけで、「C3セル」より右の列に出力結果が表示されます。(下図参照)
尚、XLOOKUP関数のように入力したセルに隣接するセルにも結果を出力する機能を「スピル」と呼んでいます。(スピルされたセルは、「C3セル」の関数をクリアしない限り編集・入力することは出来ません。)
また(当記事の本題とは少しずれますが、)XLOOKUP関数はVLOOKUP関数の弱点である「検索範囲の左端の項目しか検索できない」という点も克服しています。
そんなわけでXLOOKUP関数は「VLOOKUP関数を進化させた画期的な関数」なんです。
しかしながら先に述べたようにXLOOKUP関数は、2021年に登場した新しい関数であるために永続版のEXCEL2019までのエクセルでは使用する事が出来ませんのでご注意ください。
【まとめ】エクセルのVLOOKUP関数にて複数列(列番号を複数)出力する方法3選
VLOOKUP関数で複数列の項目を出力する方法は以下の3つあります。
ぜひご自身のエクセルバージョンを確認の上、日常業務に活用してみてください。
以上ここまでお読みいただきありがとうございました。