• 公開日:

ExcelのVLOOKUP関数の列番号を複数指定する方法

この記事では、ExcelのVLOOKUP関数の列番号を複数指定する方法をご紹介します。

VLOOKUP関数を使って検索値に対応する値を抜き出す際、通常の書式だと列番号を1列しか指定できませんが、書式を変更することで検索値に対応した複数列を抜き出すことができます。

以下では、ExcelのVLOOKUP関数の列番号を複数指定する方法と使用する数式を解説しています。

ExcelのVLOOKUP関数の列番号を複数指定する方法

VLOOKUP関数を使って検索範囲内から検索値に対応する値を取り出す際、通常の方法では1つしか列番号を指定できません。以下では、中かっこを使って列番号を複数指定する方法をご紹介します。

データを用意する

上記の画像のような左側にデータの入った表(例:A1セルからE6セル)と、右側に検索値と検索値に対応するデータを抜き出すための作業用の表(例:G1セルからK2セル)を用意します。

検索値を入力する

今回は検索値をNo.の「101」として、対応する商品名にアネモネ、単価に¥100、売り上げ本数に10、売り上げに¥100を抜き出します。G2セルに「101」を入力します。

H2セルからJ2セルを選択し、数式バーに「=VLOOKUP(G2,A1:E6,{2,3,4,5},FALSE)」を入力します。配列数式になるのでCtrl +Shift+Enterを押して確定させます。数式の詳細については下記「VLOOKUP関数で列番号を複数指定する数式について」セクションをご参照ください。

H2セルからJ2セルにG2セルの値の対応した値が複数表示されました。この際、「スピル」と表示されたら配列数式になっていない可能性があります。数式バーの数式が{}で囲われていない場合は、配列数式になっていないのでもう一度手順を確認してみてください。

VLOOKUP関数で列番号を複数指定する数式について

上記「ExcelのVLOOKUP関数の列番号を複数指定する方法」セクションでご紹介した「=VLOOKUP(G2,A1:E6,{2,3,4,5},FALSE)」の補足説明をします。

VLOOKUP関数は、指定した値を縦方向に検索し、一致した値に対応するデータを返します。

VLOOKUP関数の書式は「=VLOOKUP(検索値,範囲,列番号,[検索の型])」です。詳しい使い方や引数については以下の記事で紹介しています。

ExcelのVLOOKUP関数の使い方|指定の列と同じ行にある値を返す

この数式はG2セルを検索値として、検索値に対応する完全に一致する値を検索範囲の2列目、3列目、4列目、5列目から取り出す数式です。

データ範囲の最初の列であるA列を1列目としているので、B列が2列目、C列が3列目、D列が4列目、E列が5列目になります。

中かっこで列番号を囲うことで、列番号を複数指定することができます。

中かっこで列番号を囲んで複数列を指定する

例えば上記の画像のように、抜き出したいデータがB列目とE列目にある場合の数式は「=VLOOKUP(G2,A1:E6,{2,5},FALSE)」となります。

Microsoft 365をお使いの場合

Microsoft 365には「スピル」という機能があります。

スピルは結果が複数ある場合に、隣接したセルにも自動的に結果を表示する機能です。

上記「ExcelのVLOOKUP関数の列番号を複数指定する方法」セクションでお伝えしたような配列数式として入力しなくても、スピル機能を使えばVLOOKUP関数を使って列番号を手軽に複数指定できます。

また、配列数式で入力すると後から配列の対象範囲に行/列の追加や削除ができなくなりますが、スピルであれば行/列を追加しても変更が自動的に反映されます。

スピル機能を使ってVLOOKUP関数で列番号を複数指定する方法は以下のとおりです。

データを用意する

上記の画像のような左側にデータの入った表(例:A1セルからE6セル)と、右側に検索値と検索値に対応するデータを抜き出すための作業用の表(例:G1セルからK2セル)を用意します。

検索値を入力する

今回は検索値をNo.の「101」として、対応する商品名にアネモネ、単価に¥100、売り上げ本数に10、売り上げに¥100を抜き出します。G2セルに「101」を入力します。

関数を入力する

H2セルを選択し、「=VLOOKUP(G2,A1:E6,{2,3,4,5},FALSE)」を入力し、Enterを押します。数式の詳細については上記「VLOOKUP関数で列番号を複数指定する数式について」セクションをご参照ください。

結果が表示された

H2セルからJ2セルにG2セルの値の対応した値が表示されました。

スピル機能を使うと配列数式にしなくても、VLOOKUP関数で列番号を複数指定することができました。

上記の画像の赤矢印で示した数式バーを見ると配列数式になっていないことが確認できます。