- 公開日:
ExcelのVLOOKUP関数で&でつないで検索値を複数にする
この記事では、ExcelのVLOOKUP関数で&でつないで検索値を複数にする方法をご紹介します。
VLOOKUP関数の基本的な使い方では検索値は1つしか指定できませんが、「&」でつなぐことで複数条件を指定することができて便利です。
以下では、一番シンプルな使い方とCOUNTIF関数を組み合わせた応用もご紹介しています。
ExcelのVLOOKUP関数で&でつないで検索値を複数にする方法

VLOOKUP関数は、通常1つしか検索値を指定できません。
ただし、「&」でセル値をつなぐことで複数条件にすることができます。
例えば上記の画像のように「部署」営業部、「チーム」チーム2の条件に当てはまる「内線」8098を検索して抽出することができます。
「&」記号を使って複数条件を指定する一番簡単な方法は、以下の記事でご紹介しています。
VLOOKUP関数で&でつないで別シート参照の検索値を複数にする方法
VLOOKUP関数は、別シートを参照している場合も「&」でつなぐことで複数条件を指定することができます。
ただし、別シートを参照する場合は式が複雑になるので、引数の範囲を間違えないように注意が必要です。
詳細は、以下の記事「VLOOKUP関数で検索値を複数指定して別シートを参照する方法」セクションでご紹介しています。
ExcelのVLOOKUP関数で複数条件で別シートを参照する
&とCOUNTIF関数を組み合わせて検索値をすべて抽出する方法

上記の画像の左側にある表は「2023/9/1」の売り上げを表しています。
VLOOKUP関数は検索値が複数あった場合、1番上の値しか抽出することができません。
ただし、「&」とCOUNTIF関数を組み合わせることで上記の画像の右側にある表のように、売上表から「検索値」紅茶に紐づくすべての「種類」「数量」「単価(100g)」「売上」を抽出することができます。
以下では、その手順をご紹介します。

①A列とB列の列番号を選択して右クリックを押します。②右クリックメニューから挿入を選択します。

B3セルに「=COUNTIF($C$3:C3,C3)」を入力して、Enterを押します。
C3セルの値がC3セルからC3セルの範囲でいくつあるかを数えます。
下の表にコピーしたときに範囲がずれないように範囲の最初を固定しましょう。
COUNTIF関数は1つの条件に当てはまるセルの数を求めます。書式は「=COUNTIF(範囲,検索条件)」です。

「紅茶」はC3セルからC3セルの範囲内に1つしかないので、B3セルに1が表示されました。
A3セルに「=B3&C3」を入力して、Enterを押します。
B3セルとC3セルの値を結合して複数条件を指定します。

①A3セルとB3セルを選択します。②フィルハンドルをドラッグして数式をコピーします。

A3セルからB18セルに数式がコピーされました。
A列に表示したセル値を結合した数値は、VLOOKUP関数で検索値を探す列になるので必ず1番左端にしましょう。

J6セルに「=VLOOKUP(I6&$I$3,$A$3:$G$18,{4,5,6,7},FALSE)」を入力してCtrl+Shift+Enterを押します。
数式が配列になっているので、必ずCtrl+Shift+Enterを押してください。
「検索値」紅茶と連番の数字を「&」でつなぐことで異なる検索値となるため、すべての値を抽出することができます。
また、VLOOKUP関数の列番号も通常は1列しか抽出できませんが、配列式にすることで複数列を抽出することができます。

J6セルからM6セルに検索値に紐づく値が抽出されました。
①J6セルからM6セルを選択します。②フィルハンドルをドラッグして数式をコピーします。

「検索値」紅茶の該当するすべての値を抽出することができました。
J10セルからM10セルに#N/Aエラーが表示されているのは、「5紅茶」の値が存在しないためです。