如何在 Excel 中使用 VLOOKUP 将多个值合并返回到单个单元格中?
VLOOKUP 是 Excel 中的强大函数,但默认仅返回首个匹配值。如果您需要检索所有匹配项,并将它们合并到一个单元格中呢?这在分析数据集或汇总信息时十分常见。本指南将通过公式与实用功能,逐步教您如何将多个匹配值整合至单个单元格。
使用 TEXTJOIN 函数将多个值返回到一个单元格中(适用于 Excel 2019 和 Office 365)

使用 TEXTJOIN 函数将多个值返回到一个单元格中(适用于 Excel 2019 和 Office 365)
如果您使用的是较高版本的 Excel(如 )TEXTJOIN 函数支持的 Excel 2019 和 Office 365),即可借助这一强大函数,快速查找并返回所有匹配值到一个单元格中。
将所有匹配值返回到一个单元格中
请将以下公式应用到您希望放置结果的空白单元格中,然后同时按 Ctrl + Shift + ENTER 键获取第一个结果,再向下拖动填充柄至所需单元格,即可获得如下图所示的所有对应值:

将所有不重复的匹配值返回到一个单元格中
如果您希望根据查找数据返回所有匹配值且不包含重复项,以下公式或许能为您提供帮助。
请将以下公式复制并粘贴到空白单元格中,然后同时按 Ctrl + Shift + ENTER 键获取第一个结果,再将此公式复制到其他单元格中,即可获得如下图所示的所有不重复对应值:

使用 Kutools 将多个值返回到一个单元格中
借助 Kutools for Excel 的“高级合并行”功能,您可轻松将多个匹配值汇总到单个单元格中——无需复杂公式!告别繁琐的手动变通方法,以更高效的方式完成 Excel 查找任务。快来探索 Kutools for Excel 是如何实现这一切的吧!
安装 Kutools for Excel 后,请按以下步骤操作:
1. 请选择您希望依据另一列来合并数据的区域。
2. 单击“Kutools”>“合并和拆分”>“高级合并行”,如下图所示:

3. 在弹出的“高级合并行”对话框中:
- 单击您希望作为合并依据的关键列名称,然后点击“主键”。
- 然后单击另一列(该列的数据将根据关键列进行合并),并从“操作”字段的下拉列表中选择一个分隔符,用于在“合并”部分中分隔合并后的数据。
- 然后单击“确定”按钮。

基于相同值,另一列中所有对应的值均已合并至单个单元格。参见截图:
![]() | ![]() | ![]() |
提示:若希望在合并单元格时自动去除重复内容,只需在对话框中勾选“删除重复值”选项,即可将唯一项合并到单个单元格中,让数据更简洁、更有条理,无需任何额外操作。参见截图:
![]() | ![]() | ![]() |
使用自定义函数将多个值返回到一个单元格中
上述 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, ", "),再向下拖动填充柄,即可在单个单元格中获取所有对应值,参见截图:

将所有不重复的匹配值返回到一个单元格中
若要忽略返回匹配值中的重复项,请使用以下代码。
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”选项,具体操作请参见截图:
![]() | ![]() | ![]() |
4. 然后单击“确定”关闭对话框,保存并关闭代码窗口,返回工作表,在空白单元格中输入公式:=MultipleLookupNoRept(E2,$A$2:$C$11,3) 即可输出结果,再向下拖动填充柄获取所有匹配值,参见截图:

无论您选择结合数组函数的 TEXTJOIN 公式、使用 Kutools for Excel 等工具,还是自定义函数,所有方法都能简化复杂的查找任务。选择最适合您需求的方法!如果您想深入掌握更多 Excel 技巧,我们的网站提供数千篇实用教程,助您轻松提升效率!
更多相关文章:
- VLOOKUP 函数的基本与高级示例
- 在 Excel 中,VLOOKUP 函数是大多数用户不可或缺的强大工具,它能在数据区域的最左侧查找指定值,并返回同一行中您所指定列的匹配结果。本教程将通过基础与进阶示例,带您全面掌握 VLOOKUP 函数的使用方法。
- 根据一个或多个条件返回多个匹配值
- 通常,使用 VLOOKUP 函数查找特定值并返回匹配项对我们大多数人来说都轻而易举。但您是否尝试过根据一个或多个条件返回多个匹配值?本文将为您介绍一些实用公式,助您轻松应对 Excel 中这一复杂任务。
- 垂直查找并返回多个值
- 通常,您可以使用 VLOOKUP 函数获取首个匹配值,但有时您可能希望根据特定条件返回所有匹配记录。本文将介绍如何垂直、水平查找,或将所有匹配值合并到单个单元格中。
- 通过下拉列表查找并返回多个值
- 在 Excel 中,如何通过下拉列表查找并返回多个对应值?即当您从下拉列表中选择一个项目时,其所有相关值会立即显示出来。本文将逐步介绍解决方案。
最佳办公效率工具
| 🤖 | KUTOOLS AI 助手:基于以下内容革新数据分析:智能执行 | 生成代码| 创建自定义公式 | 数据分析及生成图表| 调用 Kutools Functions…… |
| 热门功能:查找、高亮或标记重复项 | 删除空白行 | 合并列或单元格且不丢失数据 | 不使用公式的四舍五入…… | |
| 高级 LOOKUP:多条件 VLookup | 多值 VLookup | 跨多工作表 VLookup | 模糊查找…… | |
| 高级下拉列表:快速创建下拉列表 | 级联下拉列表 | 多选下拉列表…… | |
| 列管理器:添加指定数量的列|移动列|切换隐藏列的可见性状态|比较区域与列…… | |
| 特色功能:网格聚焦 | 设计视图 |增强编辑栏 | 工作簿和表管理器 | 资源库(自动文本)| 日期提取 | 汇总工作表 | 加密/解密单元格 | 按列表发送邮件 | 超级筛选 | 特殊筛选(筛选粗体单元格/斜体/删除线……) ...... | |
| 精选 15 工具集:12 文本工具(添加文本,删除特定字符,……)| 50+ 图表 类型(甘特图,……)| 40+ 实用公式(基于生日计算年龄,……)| 19 插入工具(插入二维码,从路径插入图片,……)| 12 转换工具(小写金额转大写,汇率转换,……)| 7 合并和拆分工具(高级合并行,分割单元格,……)|……更多 |
使用 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 应用高效协作的团队。
- 一体化套件— Excel、Word、Outlook 和 PowerPoint 插件 + Office Tab Pro
- 一个安装程序,一个许可证— 几分钟内完成设置(支持 MSI)
- 协同效果更佳— 在多个 Office 应用中实现高效协同
- 30 天全功能试用— 无需注册,无需信用卡
- 超值之选— 比单独购买插件更省钱






