Skip to main content

如何在一個單元格中返回以逗號分隔的多個查找值?

Author: Xiaoyang Last Modified: 2025-05-12

在 Excel 中處理數據時,您可能會遇到需要為查找返回多個匹配值並將它們顯示在一個單元格中的情況,並以逗號、破折號等分隔。雖然 Excel 的內建查找函數(如「VLOOKUP」和「INDEX-MATCH」)非常適合查找單一匹配項,但將多個結果合併到一個單元格中則需要更進階的方法。本文將介紹一些在 Excel 中解決此任務的有用方法。


使用 TEXTJOIN 和 FILTER 函數在一個單元格中返回以逗號分隔的多個查找值

如果您可以使用 Excel 365 或 Excel 2021 及更高版本,使用動態陣列公式是最簡單的方法。

請在空白單元格中應用以下公式以輸出結果,然後按「Enter」鍵以獲取結果。

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

然後,向下拖動填充柄以將公式填充到其他單元格,請參見截圖:

return multiple lookup values separate by comma with textjoin function

此公式的解釋:
  • FILTER(B2:B15, A2:A15=D2):提取 A 列等於 D2 單元格的所有 B 列值。
  • TEXTJOIN(", ", TRUE, ...):將得到的值連接成一個字符串,並用逗號分隔。

使用 Kutools for Excel 在一個單元格中返回以逗號分隔的多個查找值

「Kutools for Excel」是一個旨在簡化 Excel 中複雜任務的外掛程式。其高級的「一對多查找」功能可讓您輕鬆地將所有匹配值提取到一個單元格中,並使用指定的分隔符——無需複雜的公式或 VBA 編碼。

Kutools for Excel 提供超過 300 種進階功能,簡化複雜任務,提升創造力與效率。 結合 AI 能力,Kutools 能夠精準自動化任務,讓數據管理變得輕而易舉。Kutools for Excel 的詳細資訊...免費試用...

安裝 Kutools for Excel 後,請按照以下步驟操作:

點擊「Kutools」>「Super LOOKUP」>「One-to-many Lookup(returns multiple results)」打開對話框。在對話框中,請按以下方式指定操作:

  1. 分別在文本框中選擇「輸出區域」和「查找值」;
  2. 選擇您要使用的表格範圍;
  3. 從「關鍵列」和「返回列」下拉選單中分別指定關鍵列和返回列;
  4. 最後,點擊「確定」按鈕。
    specify the options in the dialog box of kutools

結果:

所有具有相同值的相應單元格都已合併到一個單元格中,並以逗號分隔,請參見截圖:
return multiple lookup values separate by comma with kutools

提示:如果您想使用不同的分隔符來分隔數據,您可以點擊「選項」並選擇所需的分隔符。此外,您還可以對結果執行其他操作,例如求和、平均值等。
more options of one to many lookup feature

使用用戶自定義函數在一個單元格中返回以逗號分隔的多個查找值

如果您沒有 Excel 365 或 Excel 2021,本節將逐步指導您如何創建和使用 UDF 在單個單元格中返回多個查找值,並以逗號分隔。

1. 按住「ALT」+「F11」鍵打開「Microsoft Visual Basic for Applications」窗口。

2. 點擊「插入」>「模組」,並將以下代碼粘貼到模組窗口中。

VBA 代碼:將多個查找值返回到一個以逗號分隔的單元格中

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, ", ")

more options of one to many lookup feature

注意:在上述公式中,"D2" 是您要查找的條件,"A2:A15" 是進行查找的範圍,"B2:B15" 是要返回值的範圍,", " 是用於分隔結果的分隔符。

總之,根據您的 Excel 版本和需求,使用各種方法可以在單個單元格中高效地返回以逗號分隔的多個查找值。通過選擇最適合您需求的方法,您可以簡化數據分析並提高工作效率。如果您有興趣探索更多 Excel 技巧,我們的網站提供了數千個教程


相關文章:

  • Vlookup 並返回不重複的多個值
  • 在 Excel 中處理數據時,有時您可能需要針對特定查找條件返回多個匹配值。但是,默認的 VLOOKUP 函數只會檢索單一值。在有多個匹配項的情況下,並且您希望在單個單元格中顯示它們而不重複,您可以使用替代方法來實現這一點。
  • 根據一個或多個條件返回多個匹配值
  • 通常,對於大多數人來說,查找特定值並返回匹配項目是很容易的,只需使用 VLOOKUP 函數即可。但是,您是否嘗試過根據一個或多個條件返回多個匹配值,如下方截圖所示?在本文中,我將介紹一些公式來解決這個複雜的任務。
  • Vlookup 並返回兩個值之間的匹配數據
  • 在 Excel 中,我們可以應用普通的 Vlookup 函數根據給定的數據獲取相應的值。但是,有時候我們希望 vlookup 並返回兩個值之間的匹配值,如下方截圖所示,您該如何在 Excel 中處理這個任務呢?

最佳辦公效率工具

🤖 Kutools AI 助手:基於智能執行方式革新數據分析:智能執行   |  生成代碼  |  創建自訂公式  |  分析數據並生成圖表  |  調用 Kutools 函數
熱門功能查找、標記重複值或識別重複項   |  刪除空行   |  合併列或單元格而不丟失數據   |   四捨五入無需公式 ...
高級 LOOKUP多條件 VLookup    多值 VLookup  |   多表查找   |   模糊查找 ....
高級下拉列表快速創建下拉列表   |  依賴下拉列表   |  多選下拉列表 ....
列管理器添加特定數量的列  |  移動列  |  切換隱藏列的可見狀態  |  比較區域和列 ...
特色功能網格聚焦   |  設計檢視   |   增強編輯欄    工作簿與工作表管理器   |  資源庫(自動文本)   |  日期提取器   |  合併資料   |  加密/解密儲存格    按列表發送電子郵件   |  超級篩選   |   特殊篩選(篩選粗體/斜體/刪除線...) ...
頂級 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%,每天為您減少數百次鼠標點擊!