ExcelでVLOOKUPを使用して複数の対応する値を連結するにはどうすればよいですか?
ExcelでVLOOKUPを使用すると、通常はデータセットから最初に一致する値が返されます。しかし、特定のクラスに関連するすべての名前など、複数の対応する値を返して連結する必要があるシナリオもあります。VLOOKUPだけではこれが実現できないため、目的の結果を得るために高度な手法を探ります。

ExcelでVLOOKUPを使用して複数の対応する値を連結する
TEXTJOINおよびFILTER関数を使用して複数の対応する値をVLOOKUPし連結する
Excel 365またはExcel 2021を使用している場合、TEXTJOINとFILTER関数を組み合わせることで、複数の対応する値を効率的かつ強力に連結できます。
ターゲットセルに次の数式を入力し、他のセルに数式をドラッグしてセルを埋めます。すべての対応する一致した値が抽出され、1つのセルに結合されます。スクリーンショットをご覧ください:
=TEXTJOIN(", ", TRUE, FILTER($B$2:$B$16, $A$2:$A$16=D2, ""))
- FILTER($B$2:$B$16, $A$2:$A$16=D2, ""):条件を満たすすべての値を含む配列を返します。
- $B$2:$B$16: フィルター処理するデータの範囲。
- $A$2:$A$16=D2: フィルター条件で、$A$2:$A$16の値がD2セルの値と等しくなければなりません。
- TEXTJOIN(", ", TRUE, ...):すべての一致する値をカンマとスペースで区切って1つの文字列に結合します。
- ", ": 各値を区切るために使用される区切り文字(この場合はカンマとスペース)。
- TRUE: 空の値を無視して余分な区切り文字が含まれないようにします。
Kutools for Excelを使用して複数の対応する値をVLOOKUPし連結する
複数の対応する値を扱う際のExcelのVLOOKUPの制限に疲れていませんか?しかし、Kutools for Excelの一対多検索機能を使えば、わずか数クリックで複数の対応する値を簡単に検索して連結できます!
Kutools for Excelをインストール後、次のように操作してください:
「Kutools」>「スーパーLOOKUP」>「一対多の検索(複数の結果を返す)」をクリックしてダイアログボックスを開きます。ダイアログボックスで、以下のように操作を指定してください:
- テキストボックスで「出力先」と「検索対象範囲」をそれぞれ選択します;
- 使用したいテーブルの範囲を選択します;
- 「キーカラム」と「返却列」のドロップダウンからそれぞれキーカラムと返却列を指定します;
- 最後に、「OK」ボタンをクリックします。
結果:これで、すべての一致する値が1つのセルに連結されました。スクリーンショットをご覧ください:
ユーザー定義関数を使用して複数の対応する値をVLOOKUPし連結する
VBA(Visual Basic for Applications)に慣れている場合、ユーザー定義関数(UDF)を作成して複数の対応する値を連結できます。この方法はすべてのバージョンのExcelで動作します。
1. 「ALT + F11」キーを押して「Microsoft Visual Basic for Applications」ウィンドウを開きます。
2. 「挿入」>「モジュール」をクリックし、モジュールウィンドウに次のコードを貼り付けます。
VBAコード:セル内の複数の一致する値をVLOOKUPして連結する
Function ConcatenateMatches(LookupValue As String, LookupRange As Range, ReturnRange As Range, Optional Delimiter As String = ", ") As String
'Updateby Extendoffice
Dim Cell As Range
Dim Result As String
Result = ""
For Each Cell In LookupRange
If Cell.Value = LookupValue Then
Result = Result & Cell.Offset(0, ReturnRange.Column - LookupRange.Column).Value & Delimiter
End If
Next Cell
If Result <> "" Then
Result = Left(Result, Len(Result) - Len(Delimiter))
End If
ConcatenateMatches = Result
End Function
3. その後、このコードを保存して閉じ、ワークシートに戻り、この数式を入力します:=ConcatenateMatches(D2, $A$2:$A$16, $B$2:$B$16) を結果を表示したい空白のセルに入力し、フィルハンドルを下にドラッグして他のセルに数式を適用します。特定のデータに基づくすべての対応する値がカンマとスペースで区切られて1つのセルに返されます。スクリーンショットをご覧ください:
- D2: これは指定された範囲(LookupValue)内で探している値です。
- A2:A16: 関数が検索値(LookupRange)を探す範囲です。
- B2:B16: 検索値が一致した場合に連結する値を含む範囲(ReturnRange)。
Excelで複数の対応する値を連結するには、さまざまな方法があります。各方法には独自の利点があります。TEXTJOINやFILTERのような組み込み関数、Kutoolsのようなサードパーティツール、カスタムVBAソリューションのいずれを使用するかは、お使いのExcelのバージョン、スキルレベル、および特定の要件に最も適した方法を選ぶことが重要です。さらに多くのExcelのヒントやコツに興味がある場合、当社のウェブサイトでは数千ものチュートリアルを提供しています。
最高のオフィス生産性ツール
🤖 | Kutools AI アシスタント: データ分析を革命化する: インテリジェント実行 | コード生成 | カスタム数式の作成 | データを分析しグラフを生成 | 拡張機能を呼び出す… |
人気の機能: 重複を見つけてハイライトまたはマーキング | 空白行を削除 | データを失わずに列またはセルを統合 | 丸める ... | |
スーパーLOOKUP: 複数条件のVLookup | 複数値のVLookup | 複数シートの検索 | ファジーマッチ .... | |
高度なドロップダウンリスト: ドロップダウンリストを迅速に作成 | 依存ドロップダウンリスト | マルチセレクトドロップダウンリスト .... | |
列管理: 特定の数の列を追加 | 列を移動 | 非表示列の可視ステータスを切り替え | 範囲と列を比較 ... | |
注目の機能: グリッドフォーカス | デザインビュー | 強化された数式バー | ワークブック & ワークシート管理 | オートテキスト ライブラリ (Auto Text) | 日付ピッカー | データの統合 | セルの暗号化/復号化 | リストで電子メールを送信 | スーパーフィルター | 特殊フィルタ (太字/斜体/取り消し線をフィルタリング...) ... | |
トップ15のツールセット: 12 のテキストツール (テキストの追加, 特定の文字を削除, ...) | 50以上 のグラフ の種類 (ガントチャート, ...) | 40以上の実用的な 数式 (誕生日に基づいて年齢を計算する, ...) | 19 の挿入ツール (QRコードの挿入, パスから画像を挿入, ...) | 12 の変換ツール (単語に変換する, 通貨変換, ...) | 7 の統合 & セルの分割ツール (高度な行のマージ, セルの分割, ...) | ...さらに多く |
Kutools for ExcelでExcelスキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、300以上の高度な機能を提供し、生産性を向上させ、保存時間を節約します。 最も必要な機能を入手するにはここをクリック...
Office TabはOfficeにタブインターフェイスをもたらし、作業を非常に簡単にします
- Word、Excel、PowerPoint、Publisher、Access、Visio、Projectでタブ付きの編集と読み取りを有効にします。
- 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
- 生産性を50%向上させ、毎日数百回のマウスクリックを減らします!