残業を減らす!Officeテクニック
XLOOKUP関数では無理! エクセルで条件に該当する複数データを1つのセルに列挙する技
2026年2月24日 06:55
1つの情報が複数行に分けて入力されている表を見かけることがありませんか? 例えば、資料に添付することを目的とした場合などです。資料添付用としては見やすい形式ですが、データ分析には適していません。
この表を元に集計したり、必要な情報に絞り込んだりする場合、空白になっている受注ID、受注日、顧客名を補完する必要があります。
では、受注IDが「R-1001」に含まれる製品を「、」区切りで取り出したい場合はどうしましょう? 検索値である受注IDに対して複数の結果が存在するため、VLOOKUP関数やXLOOKUP関数では最初の1件しか取得できません。また、フィルターした結果をコピー&ペーストして直接編集するのは手間がかかります。
今回は、該当項目が複数ある場合に結果を任意の区切り文字で連結して取り出すテクニックを紹介します。
FILTER関数で条件に一致するデータを取り出す
検索値に該当する複数のデータをすべて取り出したい場合は、FILTER関数が便利です。引数[配列]に抽出対象の列、[含む]に条件を指定するだけです。
今回は製品をすべて取り出したいので、引数[配列]に「製品」列、[含む]に「指定した受注IDと一致する」という条件式を指定します。
TEXTJOIN関数で任意の区切り文字を挟み込む
受注IDに該当する製品をすべて取り出せましたが、縦方向に並んでしまいました。これを解決しつつ、区切り文字の「、」を挟み込むためにTEXTJOIN関数を使います。
TEXTJOIN関数は、任意の文字を挟んで指定した文字列を連結できる関数です。なお、引数[区切り文字]に「""」と指定すると、CONCAT関数と同じく単純に文字列を連結します。
ここでは、FILTER関数で取り出した製品を「、」を挟んで連結するので、数式は以下のようになります。入力済みのFILTER関数の数式を修正すると効率的です。
=TEXTJOIN("、",TRUE,FILTER(E3:E19,B3:B19=J2))
帳票形式のデータでも発想を変えれば、データを自在に抽出できるようになります。実務でのデータ活用の幅を広げる一手として、ぜひ試してみてください。























![【Amazon.co.jp限定】1冊ですべて身につくHTML & CSSとWebデザイン入門講座[第2版] (特典:「Webデザイナーのポートフォリオの作り方入門講座」データ配信) 製品画像:2位](https://m.media-amazon.com/images/I/51skMJ-OVcL._SL160_.jpg)







