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

如何在 Excel 中執行 VLOOKUP 並傳回多個不重複的值?

作者Xiaoyang修改日期

當您在 Excel 中處理資料時,有時需要根據特定查詢條件傳回多個相符值。然而,預設的 VLOOKUP 函數僅能擷取單一結果。若存在多筆相符資料,且您希望將這些值彙整至單一儲存格並自動去除重複項目,可透過替代方法輕鬆達成此目標。

傳回多個不重複的值

在 Excel 中執行 VLOOKUP 並傳回多個相符值且不重複


使用 TEXTJOIN 與 FILTER 函數傳回多個不重複的相符值

若您使用的是 Excel 365 或 Excel 2021,即可輕鬆運用 TEXTJOIN 與 FILTER 函數達成此目的——這兩個函數能動態篩選資料,並將結果串連至單一儲存格。

請在空白儲存格中輸入下列公式以取得所有不重複的相符值,然後按下「ENTER 鍵」即可顯示結果。請參閱截圖:

=TEXTJOIN(", ", TRUE, UNIQUE(FILTER(C2:C17, A2:A17=E2)))

使用 TEXTJOIN 函數傳回多個不重複的值

公式說明:
  • FILTER(C2:C17, A2:A17=E2) 會篩選出欄位 C 中所有對應欄位 A 的產品與 E2 儲存格查詢值相符的姓名。
  • UNIQUE 會移除所有重複的值。
  • TEXTJOIN(", “, TRUE, ......) 會將取得的唯一值合併至單一儲存格,並以逗號分隔。

使用強大功能傳回多個不重複的相符值

若您希望在 Excel 中執行 VLOOKUP 並傳回多個不重複的相符值,卻覺得手動輸入公式或使用 VBA 過於繁瑣,「Kutools for Excel」提供了一種簡單又高效的解決方案。透過其「一對多查找」功能,只需幾次點擊,即可快速提取所有唯一的相符值,並合併至單一儲存格中。

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

按一下「Kutools」>「高級 LOOKUP」>「一對多查找(傳回多個結果)」以開啟「一對多查找」對話方塊,然後在對話方塊中指定相關操作:

  1. 分別在文字方塊中選取「列表放置區域」與「待檢索值區域」;
  2. 選取您要使用的資料表範圍;
  3. 分別從 「關鍵列」與「返回列」下拉式清單中指定關鍵列與返回列;
  4. 最後,點擊「確定」按鈕。
    在「一對多查詢」對話方塊中指定選項

結果:

現在,您可以看到所有相符值均已提取且無重複項目,請參閱截圖:
透過 Kutools 傳回多個不重複的值

提示:

若您希望使用其他分隔符號來分隔資料,只需點選「選項」並挑選您需要的分隔符號。此外,還能對結果進行多種運算,例如加總、平均值等。
提供更多處理結果的選項


使用使用者自訂函數傳回多個不重複的相符值

若您尚未安裝 Excel 365 或 Excel 2021,可使用下方提供的使用者自訂函數作為替代方案,同樣能實現類似效果,例如:

即使在舊版 Excel 中,也能傳回多個不重複的相符結果。

  1. 按住 「Alt」+「F11」鍵,即可開啟「Microsoft Visual Basic for Applications」視窗。
  2. 按一下「插入」>「模組」,並將下列程式碼貼到模組視窗中。

    VBA 程式碼:VLOOKUP 並傳回多個唯一相符值:

      Function VlookupUnique(lookupValue As String, lookupRange As Range, resultRange As Range, delim As String) As String
        Dim cell As Range
        Dim result As String
        Dim dict As Object
        Set dict = CreateObject("Scripting.Dictionary")
        For Each cell In lookupRange
            If cell.Value = lookupValue Then
                If Not dict.exists(resultRange.Cells(cell.Row - lookupRange.Row + 1, 1).Value) Then
                    dict.Add resultRange.Cells(cell.Row - lookupRange.Row + 1, 1).Value, True
                    result = result & delim & resultRange.Cells(cell.Row - lookupRange.Row + 1, 1).Value
                End If
            End If
        Next cell 
        If Len(result) > 0 Then
            VlookupUnique = Mid(result, Len(delim) + 1)
        Else
            VlookupUnique = ""
        End If
    End Function
  3. 關閉程式碼視窗並返回工作表,輸入下列公式後按下「ENTER 鍵」,即可取得所需結果。請參閱截圖:
    =VlookupUnique(E2, A2:A17, C2:C17, ", ")

    透過使用者自訂函數傳回多個不重複的值
注意:在上述公式中,E2 為您要查詢的條件,A2:A17 為執行查詢的範圍,C2:C17 為要傳回的值範圍,“, “ 為用來分隔結果的分隔符號。

總結來說,在 Excel 中有多種高效方法可執行 VLOOKUP 並傳回多個不重複的相符值,請根據您的需求與 Excel 版本選擇最適合的方案。掌握這些技巧,即可輕鬆在 Excel 中取得多個不重複的相符結果!想探索更多 Excel 實用秘訣?我們的網站提供數千篇教學文章,助您快速提升效率!


最佳 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 天完整功能試用— 無需註冊,無需信用卡
  • 超值之選— 比單獨購買各增益集更省費用