KutoolsforOffice — 一套方案,五大工具。事半功倍。三月特賣:20% 折扣

如何在 Excel 中執行 VLOOKUP 並將多個值合併傳回至單一儲存格?

作者Xiaoyang修改日期

VLOOKUP 是 Excel 中的強大函數,但預設僅傳回第一個相符值。若您需要擷取所有相符項目並將它們合併至單一儲存格,該如何處理?這在分析資料集或彙總資訊時相當常見。本指南將逐步說明如何運用公式與實用功能,將多筆相符值整合至同一儲存格中。

使用 TEXTJOIN 函數將多個值合併至單一儲存格(適用於 Excel 2019 與 Office 365)

透過 Kutools 將多個值合併至單一儲存格

使用自訂函數將多個值合併至單一儲存格

VLOOKUP 在單一儲存格中傳回多個值


使用 TEXTJOIN 函數將多個值合併至單一儲存格(適用於 Excel 2019 與 Office 365)

若您使用較高版本的 Excel(例如 Excel 2019 與 Office 365),系統提供了一個強大新函數——TEXTJOIN,讓您能快速執行 VLOOKUP,並將所有相符值合併至單一儲存格!

將所有相符值合併至單一儲存格

請將下列公式套用至您要放置結果的空白儲存格,然後同時按下 Ctrl + Shift + ENTER 鍵取得第一個結果,再向下拖曳填滿控點至所需儲存格,即可獲得如下方截圖所示的所有對應值:

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

注意:在上述公式中,A2:A11 是包含查詢資料的查詢範圍,E2 是查詢值,C2:C11 是您要從中傳回相符值的數據區域,“,“ 是用來分隔多筆記錄的分隔符號。

將所有不重複的相符值合併至單一儲存格

若您希望根據查詢資料傳回所有相符值並排除重複項目,以下公式或許能協助您。

請複製並貼上下列公式至空白儲存格,然後同時按下 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 將多個值合併至單一儲存格

透過 Kutools for Excel 的「高級合併行」功能,您無需複雜公式,就能輕鬆將多個相符值整合至單一儲存格!告別繁瑣的手動變通方法,以更高效的方式處理 Excel 查詢任務。快來看看 Kutools for Excel 是如何辦到的吧!

Kutools for Excel 提供超過 300 項進階功能,簡化複雜作業,提升創造力與效率。整合 AI 功能,Kutools 能精準自動化各項任務,讓資料管理輕鬆無負擔。Kutools for Excel 的詳細資訊……         免費試用……

安裝 Kutools for Excel 後,請依下列步驟操作:

1. 選取您要依據另一欄位進行資料合併的數據區域。

2. 點選「Kutools」>「合併與拆分」>「進階合併列」,詳見截圖:

3. 在彈出的「高級合併行」對話框中:

  • 按一下您要作為合併依據的關鍵列名稱,然後點選「主索引鍵」。
  • 接著點選您希望依據關鍵列合併資料的另一個欄位,然後在「運算」欄位中點擊下拉式清單,從「合併」區段選擇一個分隔符號,用以分隔合併後的資料。
  • 然後點擊「確定」按鈕。

在對話方塊中指定選項

根據相同值,另一欄位中所有對應的值都已合併至單一儲存格。詳情請參閱截圖:

原始資料向右箭頭根據相同資料,將所有儲存格值提取至單一儲存格

提示:若要在合併儲存格時自動移除重複內容,只需在對話方塊中勾選「刪除重複值」選項。如此一來,系統將僅保留唯一項目並合併至單一儲存格,讓您的資料更乾淨、更有條理,無需額外操作!參見截圖:

原始資料向右箭頭將所有儲存格值提取至單一儲存格並跳過重複項目

立即下載並免費試用 Kutools for Excel!


使用自訂函數將多個值合併至單一儲存格

上述 TEXTJOIN 函數僅適用於 Excel 2019 及 Office 365. 若您使用的是舊版 Excel,則需透過程式碼來完成此任務。

將所有相符值合併至單一儲存格

1. 按住「Alt + F11」鍵,即可開啟「Microsoft Visual Basic for Applications」視窗。

2. 按一下「插入」>「模組」,並將下列程式碼貼上至模組視窗中。

VBA 程式碼:執行 VLOOKUP 並將多個值傳回至單一儲存格

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, ", "),再向下拖曳填滿控點,即可在單一儲存格中取得所有對應值,詳見截圖:

使用自訂函數執行 VLOOKUP,將所有相符值傳回至單一儲存格

注意:在上述公式中,A2:A11 是包含查詢資料的查詢範圍,E2 是查詢值,C2:C11 是您要從中傳回相符值的數據區域,“,“ 是用來分隔多筆記錄的分隔符號。

將所有不重複的相符值合併至單一儲存格

若要忽略傳回相符值中的重複項目,請使用下列程式碼。

1. 按下並按住「Alt + F11」鍵,即可開啟「Microsoft Visual Basic for Applications」視窗。

2. 按一下「插入」>「模組」,並將下列程式碼貼到模組視窗中。

VBA 程式碼:執行 VLOOKUP 並將多個不重複的相符值傳回至單一儲存格

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」選項,參見截圖:

按一下 [工具] > [參考]向右箭頭勾選 Microsoft Scripting Runtime 選項

4. 接著按一下「確定」關閉對話方塊,儲存並關閉程式碼視窗,返回工作表後,在空白儲存格中輸入下列公式: =MultipleLookupNoRept(E2,$A$2:$C$11,3),再向下拖曳填滿控點,即可取得所有相符值,參見截圖:

使用自訂函數執行 VLOOKUP,將所有不重複的相符值傳回至單一儲存格

注意:在上述公式中,A2:C11 是您要使用的數據區域,E2 是查詢值,數字 3 是包含返回值的欄位編號。

無論您選擇結合 TEXTJOIN 與陣列函數的公式、使用 Kutools for Excel 等工具,或是採用自訂函數,這些方法都能輕鬆簡化複雜的查詢任務!立即選用最符合您需求的方式。我們的網站提供數千篇實用教學文章,助您全面提升 Excel 技能!


更多相關文章:

  • VLOOKUP 函數搭配基礎與進階範例
  • 在 Excel 中,VLOOKUP 函數對多數使用者來說是一項強大工具,能根據您指定的值,在數據區域的最左欄進行搜尋,並從同一列中傳回對應欄位的結果。本教學將帶您掌握如何在 Excel 中靈活運用 VLOOKUP 函數,並提供實用的基礎與進階範例。
  • 根據單一或多個條件傳回多個相符值
  • 一般來說,使用 VLOOKUP 函數查找特定值並傳回對應項目,對多數人而言相當簡單。但您是否曾嘗試過根據一個或多個條件傳回多個相符值?本文將介紹幾種實用公式,協助您在 Excel 中輕鬆應對這項複雜任務。
  • VLOOKUP 並垂直傳回多個值
  • 一般情況下,您可以使用 VLOOKUP 函數取得第一筆相符的結果,但有時您可能希望根據特定條件傳回所有對應的記錄。本文將說明如何運用 VLOOKUP,將所有相符值以垂直、水平方式列出,或合併至單一儲存格中。
  • 從下拉式清單執行 VLOOKUP 並傳回多個值
  • 在 Excel 中,如何從下拉式清單執行 VLOOKUP 並同時傳回多個對應值?也就是當您從下拉式清單選擇一個項目時,其所有相關值會立即顯示出來。本文將逐步介紹此解決方案。

最佳 Office 生產力工具

🤖KUTOOLS AI 助手:基於以下內容徹底革新數據分析:智慧執行     產生程式碼  建立自訂公式    分析資料並產生圖表  呼叫增強函數……
熱門功能尋找、醒目提示或標記重複值     刪除空白行     合併列或儲存格而不遺失資料     不使用公式的四捨五入……
高級 LOOKUP多重條件 VLookup    多重數值 VLookup     跨多個工作表 VLookup      模糊查找……
高級下拉列表快速建立下拉式清單     相依式下拉式清單     多選下拉式清單……
欄位管理員新增指定數量的欄位移動欄位切換隱藏欄位的可見狀態比較範圍與欄位……
精選功能網格聚焦     設計視圖   增強編輯欄    工作簿與工作表管理員     資源庫(自動文字)  日期提取     合併工作表    加密/解密儲存格    依清單傳送電子郵件     超級篩選      特殊篩選(篩選粗體儲存格/斜體/刪除線……) ......
頂尖 15 工具組12 文字工具添加文本刪除特定字符,……)   50+ 圖表 類型甘特圖,……)   40+ 實用公式基於生日計算年齡,……)   19 插入工具插入二維碼從路徑插入圖片,……)   12 轉換工具金額轉大寫匯率轉換,……)   7 合併和拆分工具高級合併行分割儲存格,……)……以及更多
在您的慣用語言中使用 Kutools—支援英文、西班牙文、德文、法文、中文及另外 40+ 種語言!

運用 Kutools for Excel 強化您的 Excel 技能,體驗前所未有的高效能!Kutools for Excel 提供超過 300 項進階功能,大幅提升生產力並節省寶貴時間。立即點擊,取得您最需要的功能……


Office Tab 為 Office 帶來分頁式介面,讓您的工作更輕鬆自在!

  • 在 Word、Excel、PowerPoint 中啟用分頁式編輯與閱讀功能,以及 Access、Visio 與 Project。
  • 在同視窗的新分頁中開啟並建立多份文件,而非另開新視窗。
  • 每天為您提升 50% 的工作效率,並省下數百次滑鼠點擊!

所有 Kutools 增益集,一個安裝程式

Kutools for Office 套件整合了 Excel、Word、Outlook 與 PowerPoint 的增益集,以及 Office Tab Pro,非常適合需要跨多個 Office 應用程式協作的團隊使用!

ExcelWordOutlookTabsPowerPoint
  • 全能套件— 包含 Excel、Word、Outlook 與 PowerPoint 增益集,以及 Office Tab Pro
  • 一個安裝程式,一個授權— 數分鐘內即可完成設定(支援 MSI)
  • 協同運作更出色— 在多個 Office 應用程式間實現流暢的生產力體驗
  • 30 天完整功能試用— 無需註冊,無需信用卡
  • 超值之選— 比單獨購買各增益集更省費用