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

Excel で VLOOKUP を使って複数の値を1 つのセルに返すには、どうすればよいでしょうか?

著者Xiaoyang変更日

VLOOKUP はExcel の強力な関数ですが、デフォルトでは最初に一致した値しか返しません。すべての一致値を取得して1 つのセルにまとめる必要がある場合は、どうすればよいでしょうか?これは、データセットの分析や情報の要約でよくある要件です。このガイドでは、数式と便利な機能の両方を使って、複数の値を1 つのセルにまとめて返すためのステップ・バイ・ステップの方法をご紹介します。

TEXTJOIN 関数で複数の値を1 つのセルに返す(Excel 2019 および Office 365)

Kutools で複数の値を1 つのセルに返す

ユーザー定義関数で複数の値を1 つのセルに返す

1つのセル内で複数の値を返すVLOOKUP


TEXTJOIN 関数で複数の値を1 つのセルに返す(Excel 2019 および Office 365)

Excel 2019 や Office 365 など、より新しいバージョンのExcel をご利用の場合、TEXTJOINという強力な新関数が使えます。これを使えば、VLOOKUP で一致したすべての値をすばやく1 つのセルにまとめて表示できます!

すべての一致値を1 つのセルに返す

以下の数式を、結果を表示したい空白セルに適用し、Ctrl + Shift + Enter キーを同時に押して最初の結果を取得してください。その後、フィルハンドルを下にドラッグしてこの数式を他のセルに適用すれば、以下スクリーンショットのようにすべての対応する値が表示されます。

=TEXTJOIN(",",TRUE,IF($A$2:$A$11=E2,$C$2:$C$11,「」))

注:上記の数式において、A2:A11 は検索データを含む検索範囲、E2 は検索値、C2:C11 は一致する値を返したいデータ範囲、"、"は複数のレコードを区切るための区切り文字です。

重複を除いたすべての一致値を1 つのセルに返す

検索データに基づいて一致するすべての値を重複なく取得したい場合は、以下の数式が役立ちます。

以下の数式を空白セルにコピー&ペーストし、Ctrl + Shift + Enter キーを同時に押して、最初の結果を取得してください。その後、その数式を他のセルにもコピーすれば、下記スクリーンショットのように重複のないすべての対応する値が表示されます。

=TEXTJOIN(",", TRUE, IF(IFERROR(MATCH($C$2:$C$11, IF(E2=$A$2:$A$11, $C$2:$C$11, 「」), 0),「」)=MATCH(ROW($C$2:$C$11), ROW($C$2:$C$11)), $C$2:$C$11, 「」))

注:上記の数式において、A2:A11 は検索データを含む検索範囲、E2 は検索値、C2:C11 は一致する値を返す対象となるデータ範囲、そして「、」は複数のレコードを区切るための区切り文字です。

Kutools で複数の値を1 つのセルに返す

Kutools for Excel の「高度な行のマージ」機能を使えば、複雑な数式を一切使わずに、複数の一致値を簡単に1 つのセルにまとめられます。手作業での回避策とはもうおさらば!Excel での検索タスクをこれまで以上に効率的にこなしましょう。Kutools for Excel がその実現方法をご覧に入れます!

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

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

1。別の列を基準に1 列のデータを結合したい範囲を選択します。

2。「Kutools」>「結合と分割」>「高度な行のマージ」をクリックします(スクリーンショット参照)。

3。表示された「高度な行のマージ」ダイアログボックスで:

  • キーカラム名をクリックして結合の基準とし、「プライマリキー」を選択してください。
  • 次に、キーカラムに基づいてデータを結合したい別の列をクリックし、「操作」フィールドのドロップダウンリストから「結合」セクション内の適切な区切り文字を選択します。
  • 次に、「OK」ボタンをクリックしてください。

ダイアログボックスでオプションを指定

同じ値に基づき、別の列の対応するすべての値が1 つのセルに結合されます(スクリーンショット参照)。

元のデータ右矢印同じデータに基づいてすべてのセル値が1つのセルに抽出される

ヒント:セルを結合する際に重複する内容を削除したい場合は、ダイアログボックスで「重複値を削除する」オプションにチェックを入れるだけ。これにより、一意のエントリのみが1 つのセルに結合され、追加の手間なくデータをよりクリーンで整理された状態に保てます(スクリーンショット参照)。

元のデータ右矢印重複をスキップしてすべてのセル値が1つのセルに抽出される

今すぐKutools for Excel をダウンロードして、無料トライアルをお試しください!


ユーザー定義関数で複数の値を1 つのセルに返す

上記の TEXTJOIN 関数は、Excel 2019 および Office 365 でのみご利用いただけます。それ以外の古いバージョンのExcel をご利用の場合は、このタスクを完了するためにコードを使用する必要があります。

すべての一致値を1 つのセルに返す

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

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

VBA コード:VLOOKUP で複数の値を1 つのセルに返す

Function ConcatenateIf(CriteriaRange As Range, Condition As Variant, ConcatenateRange As Range, Optional Separator As String = ",") As Variant
'Updateby Extendoffice
Dim xResult As String
On Error Resume Next
If CriteriaRange.Count <> ConcatenateRange.Count Then
    ConcatenateIf = CVErr(xlErrRef)
    Exit Function
End If
For i = 1 To CriteriaRange.Count
    If CriteriaRange.Cells(i).Value = Condition Then
        xResult = xResult & Separator & ConcatenateRange.Cells(i).Value
    End If
Next i
If xResult <> "" Then
    xResult = VBA.Mid(xResult, VBA.Len(Separator) + 1)
End If
ConcatenateIf = xResult
Exit Function
End Function

3。次に、このコードを保存して閉じ、ワークシートに戻り、結果を表示したい任意の空白セルに次の数式 =CONCATENATEIF($A$2:$A$11, E2, $C$2:$C$11, ", ")を入力します。その後、フィルハンドルを下にドラッグすると、1 つのセル内に必要なすべての対応する値が取得できます(スクリーンショット参照)。

ユーザー定義関数を使用して、一致するすべての値を1つのセルに返すVLOOKUP

:上記の数式において、A2:A11 は検索データを含む検索範囲、E2 は検索値、C2:C11 は一致する値を返したいデータ範囲、"、"は複数のレコードを区切るための区切り文字です。

重複を除いたすべての一致値を1 つのセルに返す

返された一致値から重複を除外するには、以下のコードをご利用ください。

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

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

VBA コード:VLOOKUP で複数の一意の一致値を1 つのセルに返す

Function MultipleLookupNoRept(Lookupvalue As String, LookupRange As Range, ColumnNumber As Integer)
'Updateby Extendoffice
    Dim xDic As New Dictionary
    Dim xRows As Long
    Dim xStr As String
    Dim i As Long
    On Error Resume Next
    xRows = LookupRange.Rows.Count
    For i = 1 To xRows
        If LookupRange.Columns(1).Cells(i).Value = Lookupvalue Then
            xDic.Add LookupRange.Columns(ColumnNumber).Cells(i).Value, ""
        End If
    Next
    xStr = ""
    MultipleLookupNoRept = xStr
    If xDic.Count > 0 Then
        For i = 0 To xDic.Count - 1
            xStr = xStr & xDic.Keys(i) & ","
        Next
        MultipleLookupNoRept = Left(xStr, Len(xStr) - 1)
    End If
End Function

3。コードを挿入した後、「ツール」>「参照設定」をクリックし、「Microsoft Visual Basic for Applications」ウィンドウに表示される「参照設定 – VBAProject」ダイアログボックスの「利用可能な参照」リストから「Microsoft Scripting Runtime」をチェックしてください(スクリーンショット参照)。

Tabsツール > 参照 をクリック右矢印Microsoft Scripting Runtime オプションをチェック

4。次に「OK」をクリックしてダイアログボックスを閉じ、コードウィンドウを保存して閉じ、ワークシートに戻ります。その後、結果を出力したい空白セルに次の数式 =MultipleLookupNoRept(E2,$A$2:$C$11,3)を入力し、フィルハンドルを下にドラッグしてすべての一致値を取得します(スクリーンショット参照)。

ユーザー定義関数を使用して、重複なしで一致するすべての値を1つのセルに返すVLOOKUP

:上記の数式において、A2:C11 は使用したいデータ範囲、E2 は検索値、数字3 は返す値を含む列番号です。

TEXTJOIN 関数と配列数式を組み合わせた数式を使うにせよ、Kutools for Excelやユーザー定義関数などのツールを活用するにせよ、どのアプローチも複雑な検索タスクをぐっと簡単にします。あなたにぴったりの方法をぜひ見つけてください!さらにExcel のヒントやテクニックを知りたい方は、当社ウェブサイトで数千ものチュートリアルをご覧いただけます


関連記事の詳細:

  • 基本および高度な使用例による VLOOKUP 関数
  • Excel では、VLOOKUP 関数は多くのユーザーにとって非常に強力なツールです。この関数は、データ範囲の最も左側にある値を検索し、指定した列から同じ行にある一致する値を返します。本チュートリアルでは、Excel における VLOOKUP 関数の使い方を、基本的な例から高度な活用法までわかりやすく解説します。
  • 1 つまたは複数の条件に基づいて複数の一致値を返す
  • 通常、特定の値を検索して一致する項目を返すのは、VLOOKUP 関数を使えばほとんどの人にとって簡単です。しかし、1 つ以上の条件に基づいて複数の一致値を返したことはありますか?この記事では、Excel でこの複雑なタスクを解決するためのいくつかの数式をご紹介します。
  • VLOOKUP で複数の値を縦方向に返す
  • 通常、VLOOKUP 関数を使えば最初に一致した値を取得できますが、特定の条件に合致するすべてのレコードを返したい場合もあります。この記事では、VLOOKUP を使ってすべての一致値を縦方向、横方向、または1 つのセル内に表示する方法をご紹介します。
  • ドロップダウンリストから VLOOKUP で複数の値を返す
  • Excel で、ドロップダウンリストから VLOOKUP を行い、複数の対応する値を返すにはどうすればよいでしょうか?つまり、ドロップダウンリストから1 つの項目を選択すると、その関連するすべての値が一度に表示されるようにする方法です。この記事では、その解決策をステップバイステップで紹介します。

最高の 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 日間のフル機能トライアル— 登録不要、クレジットカード不要
  • 最高のお得感— 個別アドイン購入よりお得