KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

1 つのセル内でカンマ区切りで複数の検索値を返すには、どうすればよいですか?

著者Xiaoyang変更日

Excel でデータを扱う際、検索条件に一致する複数の値を取得し、それらを1 つのセル内にカンマやダッシュなどで区切って表示したいことがあります。「VLOOKUP」や「INDEX-MATCH」などのExcel の組み込み検索関数は単一の一致結果を返すのには優れていますが、複数の結果を1 つのセルにまとめるにはより高度なアプローチが必要です。本記事では、この課題を解決するための実用的な方法をいくつかご紹介します。


TEXTJOIN 関数と FILTER 関数でセル内にカンマ区切りで複数の検索値の範囲を返す

Excel 365 またはExcel 2021 以降をご利用であれば、ダイナミック配列数式を使うのが最も簡単です。

下記の数式を空白セルに入力し、「Enter」キーを押して結果を表示してください。

=TEXTJOIN(", ", TRUE, FILTER($B$2:$B$15, $A$2:$A$15=D2))

その後、フィルハンドルを下にドラッグして、他のセルにも数式をコピーしてください(スクリーンショット参照)。

TEXTJOIN関数を使用して、複数の検索値をカンマで区切って返す

この数式の説明:
  • FILTER(B2:B15, A2:A15=D2):列 A の値がセル D2 と一致する行について、列 B の値をすべて抽出します。
  • TEXTJOIN(", ", TRUE, .。。):抽出された値をカンマ区切りで1 つの文字列に結合します。

Kutools for Excel でセル内にカンマ区切りで複数の検索値の範囲を返す

「Kutools for Excel」は、Excel での複雑な作業をシンプルにしてくれるアドインです。その高度な「一対多の検索」機能を使えば、複雑な数式や VBA コードを一切使わずに、指定した区切り文字で区切られた該当するすべての値を、簡単に1 つのセルにまとめて抽出できます。

Kutools for Excelは300 以上の高度な機能を提供し、複雑な作業を効率化して、創造性と生産性を高めます。AI 機能と統合されたKutools は、正確にタスクを自動化し、データ管理を簡単にします。Kutools for Excel の詳細情報。。。         無料トライアル。。。

Kutools for Excel をインストール後、以下の手順に従ってください。

「Kutools」>「スーパー LOOKUP」>「一対多の検索(複数の結果を返す)」をクリックしてダイアログボックスを開き、以下の手順に従って操作を指定してください。

  1. テキストボックス内で、「リスト配置エリア」と「検索値の範囲」をそれぞれ選択してください。
  2. ご希望のテーブル範囲を選択してください。
  3. 「キーカラム」および「返すカラム」のドロップダウンから、それぞれ対応するカラムを指定してください。
  4. 最後に、「OK」ボタンをクリックしてください。
    Kutoolsのダイアログボックスでオプションを指定する

結果:

同じ値を持つすべての対応セルがカンマ区切りで1 つのセルに結合されています(スクリーンショット参照)。
Kutoolsを使用して、複数の検索値をカンマで区切って返す

ヒント:異なる区切り文字を使用したい場合は、「オプション」をクリックして希望の区切り文字を選択できます。また、結果に対して合計や平均など、その他の操作も実行できます。
一対多検索機能のその他のオプション

ユーザー定義関数でセル内にカンマ区切りで複数の検索値の範囲を返す

Excel 365 またはExcel 2021 をお持ちでない場合、このセクションでは、カンマ区切りで複数の検索値を1 つのセルに返すユーザー定義関数(UDF)の作成と使用方法をステップバイステップでご案内します。

1「ALT」+「F11」キーを押すと、「Microsoft Visual Basic for Applications」ウィンドウが開きます。

2「挿入」>「モジュール」をクリックし、モジュールウィンドウに次のコードを貼り付けてください。

VBA コード:複数の検索値の範囲を1 つのカンマ区切りセルに返す

Function JoinLookupValues(lookupValue As String, lookupRange As Range, returnRange As Range, delimiter As String) As String
    'Updateby Extendoffice
    Dim result As String
    Dim i As Long
    result = ""
    For i = 1 To lookupRange.Rows.Count
        If lookupRange.Cells(i, 1).Value = lookupValue Then
            result = result & returnRange.Cells(i, 1).Value & delimiter
        End If
    Next i
    If Len(result) > 0 Then
        JoinLookupValues = Left(result, Len(result) - Len(delimiter))
    Else
        JoinLookupValues = ""
    End If
End Function

3 次に、このコードを保存してモジュールウィンドウを閉じ、ワークシートに戻ります。結果を表示したい空白セルに以下の数式を入力し、フィルハンドルを下にドラッグして他のセルにもコピーしてください(スクリーンショット参照)。

=JoinLookupValues(D2, $A$2:$A$15, $B$2:$B$15, ", ")

一対多検索機能のその他のオプション

注:上記の数式において、「D2」は VLOOKUP したい条件、「A2:A15」は検索範囲、「B2:B15」は返す値の範囲、「」は結果を区切る区切り文字です。

以上のように、Excel のバージョンやニーズに応じて、複数の検索値をカンマ区切りで1 つのセルに効率的に返すさまざまな方法があります。ご自身の要件に最適な方法を選ぶことで、データ分析がさらにスムーズになり、生産性もぐんとアップします!さらに多くのExcel ヒントやテクニックを知りたい方は、当社ウェブサイトで数千ものチュートリアルをご覧いただけます


関連記事:

  • 重複を除いて複数の値を VLOOKUP で返す
  • Excel でデータを扱う際、特定の検索条件に一致する複数の値を取得したいことがあります。しかし、標準の VLOOKUP 関数では単一の値しか返せません。複数の一致が存在する場合でも、それらを重複なく1 つのセルにまとめて表示したいときは、代替手段を使えばこの要件を実現できます。
  • 1 つまたは複数の条件に基づいて複数の一致値を返す
  • 通常、特定の値を検索して対応する項目を返すには、VLOOKUP 関数を使えばほとんどの人にとって簡単です。しかし、次のようなスクリーンショットのように、1 つ以上の条件に基づいて複数の一致値を返したことはありますか?本記事では、Excel でこの複雑なタスクを解決するためのいくつかの数式をご紹介します。
  • 最後に一致した値を VLOOKUP で返す
  • 同じアイテムが何度も繰り返されているリストで、指定したデータに対応する最後の一致値を取得するには、どうすればよいでしょうか?
  • 2 つの値の間にある一致データを VLOOKUP で返す
  • Excel では、通常の VLOOKUP 関数を使って指定されたデータに対応する値を取得できます。しかし、以下のスクリーンショットのように、2 つの値の間に位置する一致値を VLOOKUP で返したい場合もあるでしょう。このようなタスクをExcel でどのように処理すればよいでしょうか?

最高の Office 業務効率化ツール

🤖KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行     コード生成  カスタム数式作成    データ分析とチャート生成  拡張機能呼び出し
人気の機能検索・ハイライト、または重複をマーキング     空白行を削除する     データを失うことなく列の結合またはセルを     数式を使用しない四捨五入...
スーパー LOOKUP複数条件 VLookup    複数値 VLookup     複数シート間 VLookup      ファジーマッチ....
高度なドロップダウンリストドロップダウンリストをすばやく作成     連動型ドロップダウンリスト     複数選択可能なドロップダウンリスト....
列マネージャー指定した数の列を追加列の移動非表示列の表示状態を切り替え範囲および列の比較...
注目の機能グリッドフォーカス     デザインビュー   強化された数式バー    ワークブックとシートマネージャー     リソースライブラリ(オートテキスト)  日付ピッカー     ワークシートの統合    暗号化/セルの復号化    リストからメール送信     スーパーフィルター      特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。
トップ15 ツールセット12 テキストツールテキストの追加特定の文字を削除、...)   50+チャートタイプガントチャート、...)   40+実用的関数誕生日に基づいて年齢を計算します、...)   19 挿入ツールQR コードを挿入パスから画像を挿入、...)   12 変換ツール単語に変換する為替レートの変換、...)   7 結合と分割ツール高度な行のマージセルの分割、...)さらに多数
Kutools はお好みの言語でご利用いただけます。英語、スペイン語、ドイツ語、フランス語、中国語、および40+の他の言語をサポートしています!

Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は、生産性を高め、時間を大幅に節約できる高度な機能を300 以上提供します。最も必要な機能を今すぐ入手するにはこちらをクリック。。。


Office Tab は Office にタブインターフェースをもたらし、作業を大幅に簡単にします

  • Word、Excel、PowerPoint でタブを使った編集と閲覧を有効にします。Publisher、Access、Visio、Project でもご利用いただけます。
  • 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
  • 日々の生産性を50%も向上させ、毎日数百回ものマウスクリックを削減します!

すべてのKutools アドインが、たった1 つのインストーラーで完結。

Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。

ExcelWordOutlookTabsPowerPoint
  • オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
  • インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
  • 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
  • 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
  • 最高のお得感— 個別アドイン購入よりお得