KutoolsforOffice — 一套方案,五大工具。事半功倍。

如何在 Excel 中使用 VLOOKUP 并返回多个不重复的匹配值?

作者Xiaoyang修改日期

在 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) 可提取 A 列中与 E2 查找值匹配的产品所对应的 C 列名称。
  • 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 是您要进行 vlookup 的条件,A2:A17 是查找范围,C2:C17 是要返回的值范围,“, ”是用于分隔结果的分隔符。

总之,在 Excel 中有多种高效方法可实现 VLOOKUP 并返回多个无重复的匹配值,请根据您的需求和 Excel 版本选择最适合的方案。掌握这些技巧,即可轻松在 Excel 中返回多个无重复的匹配值!如果您想探索更多 Excel 实用技巧,我们的网站提供了数千篇教程


最佳办公效率工具

🤖KUTOOLS AI 助手:基于以下内容革新数据分析:智能执行   |  生成代码|  创建自定义公式  |  数据分析及生成图表|  调用 Kutools Functions……
热门功能查找、高亮或标记重复项   |  删除空白行   |  合并列或单元格且不丢失数据   |  不使用公式的四舍五入……
高级 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、Publisher、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 天全功能试用— 无需注册,无需信用卡
  • 超值之选— 比单独购买插件更省钱