• 公開日:

ExcelのVLOOKUP関数で&でつないで検索値を複数にする

この記事では、ExcelのVLOOKUP関数で&でつないで検索値を複数にする方法をご紹介します。

VLOOKUP関数の基本的な使い方では検索値は1つしか指定できませんが、「&」でつなぐことで複数条件を指定することができて便利です。

以下では、一番シンプルな使い方とCOUNTIF関数を組み合わせた応用もご紹介しています。

ExcelのVLOOKUP関数で&でつないで検索値を複数にする方法

&でセルの値を結合して複数条件にする

VLOOKUP関数は、通常1つしか検索値を指定できません。

ただし、「&」でセル値をつなぐことで複数条件にすることができます。

例えば上記の画像のように「部署」営業部、「チーム」チーム2の条件に当てはまる「内線」8098を検索して抽出することができます。

「&」記号を使って複数条件を指定する一番簡単な方法は、以下の記事でご紹介しています。

ExcelのVLOOKUP関数を複数条件で検索する方法

VLOOKUP関数で&でつないで別シート参照の検索値を複数にする方法

VLOOKUP関数は、別シートを参照している場合も「&」でつなぐことで複数条件を指定することができます。

ただし、別シートを参照する場合は式が複雑になるので、引数の範囲を間違えないように注意が必要です。

詳細は、以下の記事「VLOOKUP関数で検索値を複数指定して別シートを参照する方法」セクションでご紹介しています。

ExcelのVLOOKUP関数で複数条件で別シートを参照する

&とCOUNTIF関数を組み合わせて検索値をすべて抽出する方法

仕組みの説明

上記の画像の左側にある表は「2023/9/1」の売り上げを表しています。

VLOOKUP関数は検索値が複数あった場合、1番上の値しか抽出することができません。

ただし、「&」とCOUNTIF関数を組み合わせることで上記の画像の右側にある表のように、売上表から「検索値」紅茶に紐づくすべての「種類」「数量」「単価(100g)」「売上」を抽出することができます。

以下では、その手順をご紹介します。

2列挿入する

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

COUNTIF関数で連番を振る

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番左端にしましょう。

VLOOKUP関数を入力する

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紅茶」の値が存在しないためです。