跳至主要内容

如何在Excel中根据另一列中的相同值连接单元格?

Author: Siluvia Last Modified: 2025-07-31

如下图所示,如果你想根据第一列中的相同值来连接第二列中的单元格,可以使用几种方法。本文将介绍三种实现此任务的方式。

Screenshot showing a table with concatenated values based on common keys


使用公式和筛选器根据相同值连接单元格

以下公式可帮助基于另一列中的匹配值连接一列中的相应单元格。

1. 选择第二列旁边的空白单元格(此处我们选择单元格C2),在编辑栏中输入公式 =IF(A2<>A1,B2,C1 & "," & B2),然后按 Enter 键。

Screenshot of a formula applied to concatenate values in Excel

2. 然后选择单元格C2,并向下拖动填充柄到需要连接的单元格。

Screenshot of dragging the fill handle in Excel to apply concatenation formula

3. 在单元格D2中输入公式 =IF(A2<>A3,CONCATENATE(A2,",""",C2,""""),""),并向下拖动填充柄至其余单元格。

Screenshot of a concatenation formula result in Excel

4. 选择单元格D1,然后单击 数据 > 筛选。参见截图:

Screenshot showing the filter option in Excel ribbon

5. 单击单元格D1中的下拉箭头,取消选中 (空白) 框,然后单击 确定 按钮。

Screenshot of Excel filter dropdown showing the options for filtering blank cells

你可以看到如果第一列的值相同,则单元格已连接在一起。

Screenshot of final concatenated results in Excel after filtering

注意:为了成功使用上述公式,A列中的相同值必须连续。


使用Kutools for Excel(只需几次点击)轻松连接相同值的单元格

上述方法需要创建两个辅助列并涉及多个步骤,可能不太方便。如果你正在寻找一种更简单的方法,可以考虑使用 Kutools for Excel高级合并行工具。只需几次点击,该工具就可以让你使用特定分隔符连接单元格,使整个过程快速且无忧。

Kutools for Excel 提供了超过 300 种高级功能,简化复杂任务,提升创造力与效率。 通过集成 AI 能力,Kutools 能够精准自动执行任务,让数据管理变得轻松简单。Kutools for Excel 的详细信息...         免费试用...

1. 单击 Kutools > 合并与拆分 > 高级合并行 以启用此功能。

2. 在“高级合并行”对话框中,你只需:

  • 选择要连接的区域;
  • 将具有相同值的列设置为关键列
  • 指定一个分隔符来合并单元格。
  • 单击 确定
  • Screenshot showing Kutools Advanced Combine Rows settings for concatenating cells

结果

Screenshot of concatenated results using Kutools

注意

使用VBA代码根据相同值连接单元格

你还可以使用VBA代码根据另一列中的相同值连接一列中的单元格。

1. 按 Alt + F11 键打开 Microsoft Visual Basic 应用程序窗口。

2. 在 Microsoft Visual Basic 应用程序窗口中,单击 插入 > 模块。然后复制并将以下代码粘贴到模块窗口中。

VBA代码:根据相同值连接单元格

Sub ConcatenateCellsIfSameValues()
	Dim xCol As New Collection
	Dim xSrc As Variant
	Dim xRes() As Variant
	Dim I As Long
	Dim J As Long
	Dim xRg As Range
	xSrc    = Range("A1", Cells(Rows.Count, "A").End(xlUp)).Resize(, 2)
	Set xRg = Range("D1")
	On Error Resume Next
	For I = 2 To UBound(xSrc)
		xCol.Add xSrc(I, 1), TypeName(xSrc(I, 1)) & CStr(xSrc(I, 1))
	Next I
	On Error GoTo 0
	ReDim xRes(1 To xCol.Count + 1, 1 To 2)
	xRes(1, 1) = "No"
	xRes(1, 2) = "Combined Color"
	For I = 1 To xCol.Count
		xRes(I + 1, 1) = xCol(I)
		For J = 2 To UBound(xSrc)
			If xSrc(J, 1) = xRes(I + 1, 1) Then
				xRes(I + 1, 2) = xRes(I + 1, 2) & ", " & xSrc(J, 2)
			End If
		Next J
		xRes(I + 1, 2) = Mid(xRes(I + 1, 2), 2)
	Next I
	Set xRg = xRg.Resize(UBound(xRes, 1), UBound(xRes, 2))
	xRg.NumberFormat = "@"
	xRg = xRes
	xRg.EntireColumn.AutoFit
End Sub

注意事项

1. Set xRg = Range("D1") 中的 D1 表示结果将从单元格 D1 开始放置。
2. xRes(1, 1) = "No" 和 xRes(1, 2) = "Combined Color" 中的 “No” 和 “Combined Color” 是所选列的标题。

3. 按 F5 键运行代码,然后你将在指定范围内获得连接的结果。

Screenshot showing concatenated results using VBA


演示:使用Kutools for Excel轻松连接相同值的单元格

Kutools for Excel:超过 300 种实用工具触手可及!永久免费享受 AI 功能!立即下载!

最佳 Office 办公效率工具

🤖 Kutools AI 助手:基于智能执行,彻底革新数据分析 生成代码创建自定义公式分析数据并生成图表调用 Kutools Functions
热门功能:查找、选中项的背景色或标记重复项|删除空行|合并列或单元格且不丢失数据|四舍五入(无公式)...
高级 LOOKUP多条件查找 (VLookup)多值查找 (VLookup)多表查找 (VLookup Across Multiple Sheets)模糊查找 (Fuzzy Lookup)...
高级下拉列表快速创建下拉列表依赖型下拉列表多选下拉列表...
列管理器添加指定数量的列移动列切换隐藏列的可见状态比较区域及列...
特色功能网格聚焦设计视图增强编辑栏工作簿 & 工作表管理器资源库(自动文本)|日期提取合并数据加密/解密单元格按列表发送电子邮件超级筛选特殊筛选(筛选粗体/倾斜/删除线等)...
热门15 大工具集12 款文本工具添加文本删除特定字符等)50+ 种图表 类型甘特图等)40+ 实用公式基于生日计算年龄等)19 款插入工具插入二维码按路径插入图片等)12 种转换工具小写金额转大写汇率转换等)7 款合并与分割工具高级合并行分割单元格等)...更多精彩等你发现
使用 Kutools,支持您的首选语言——包括英语、西班牙语、德语、法语、中文及40 多种其他语言!

用 Kutools for Excel 加速你的 Excel 技能,体验前所未有的高效办公。 Kutools for Excel 提供300 多项高级功能,助您提升效率,节省大量时间。点击此处,获取你最需要的功能...


Office Tab 为 Office 带来标签式界面,让你的工作更加轻松

  • 在 Word、Excel、PowerPoint 启用标签式编辑和阅读
  • 在同一窗口的新标签中打开和创建多个文档,无需新建窗口。
  • 办公效率提升50%,每天帮你减少上百次鼠标点击!