Note: The other languages of the website are Google-translated. Back to English
登陆  \/ 
x
or
x
注册  \/ 
x

or

如何基于Excel中的重复项将多行合并为一行?

也许您有以下屏幕截图数据,在“产品名称”列A中,有一些重复项,现在您需要删除列A中的重复项,但要合并列B中的相应值,请参见屏幕截图:

doc-advanced-combine1 -2 doc-advanced-combine2

您有解决此任务的有效方法吗?

使用VBA代码将多个重复的行合并为一个

将多个重复的行合并为一个Kutools for Excel

合并多个重复的行并使用Kutools for Excel将值求和/取平均值

Office选项卡在Office中启用选项卡式编辑和浏览,并使您的工作更加轻松...
Kutools for Excel解决了您的大多数问题,并使您的生产率提高了80%
  • 重用任何东西: 将最常用或最复杂的公式,图表等添加到您的收藏夹中,并在将来快速重用它们。
  • 超过20种文字功能: 从文本字符串中提取数字; 提取或删除部分文字; 将数字和货币转换为英文单词。
  • 合并工具:将多个工作簿和工作表合二为一; 合并多个单元格/行/列,而不会丢失数据; 合并重复的行和总和。
  • 分割工具:根据价值将数据分割成多个工作表; 一本工作簿可转换为多个Excel,PDF或CSV文件; 一列到多列。
  • 跳过粘贴 隐藏/过滤的行; 计数与求和 按背景色; 向多个收件人批量发送个性化电子邮件。
  • 超级过滤器: 创建高级过滤方案并应用于任何工作表; 排序 按星期,日期,频率等 滤波器 用粗体,公式,注释...
  • 超过300种强大的功能; 适用于Office 2007-2019和365; 支持所有语言; 在您的企业或组织中轻松部署。

箭头蓝色右气泡使用VBA代码将多个重复的行合并为一个


以下VBA代码可以帮助您根据列A的值合并重复的行,并且以下代码仅适用于两列。 因此,如果您有两列数据,那么此代码将为您提供帮助。

1。 按住 ALT + F11 键,然后打开 Microsoft Visual Basic for Applications窗口.

2。 点击 插页 > 模块,然后将以下代码粘贴到 模块窗口.

VBA代码:将多行合并为一

Sub CombineRows()
'Update 20131202
Dim WorkRng As Range
Dim Dic As Variant
Dim arr As Variant
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Set Dic = CreateObject("Scripting.Dictionary")
arr = WorkRng.Value
For i = 1 To UBound(arr, 1)
    xvalue = arr(i, 1)
    If Dic.Exists(xvalue) Then
        Dic(arr(i, 1)) = Dic(arr(i, 1)) & " " & arr(i, 2)
    Else
        Dic(arr(i, 1)) = arr(i, 2)
    End If
Next
Application.ScreenUpdating = False
WorkRng.ClearContents
WorkRng.Range("A1").Resize(Dic.Count, 1) = Application.WorksheetFunction.Transpose(Dic.keys)
WorkRng.Range("B1").Resize(Dic.Count, 1) = Application.WorksheetFunction.Transpose(Dic.items)
Application.ScreenUpdating = True
End Sub

3。 然后按 F5 键,并弹出一个提示框,提醒您选择需要组合的范围。 看截图:

doc-advanced-combine3

4。 然后点击 OK,则B列中的值已合并为一个记录,并用空格分隔。

doc-advanced-combine4

备注:

1.此代码可以销毁原始数据,使用时最好先备份数据。

2.此代码仅适用于两列,如果您有两列以上,则此代码将仅合并前两列并删除其他列数据。 使用此代码时,请务必谨慎。


箭头蓝色右气泡将多个重复的行合并为一个Kutools for Excel

既然上面的代码有一定的局限性和风险,是否有方便而安全的方法来完成这项工作? 用 Kutools for Excel高级组合行 实用程序,您可以快速删除您所基于的列中的多个重复行,然后合并或对其他记录进行一些计算到适当的单元格中。

Kutools for Excel 包括300多个便捷的Excel工具。 30天免费试用,不受限制。 立即获取.

安装Kutools for Excel之后,请执行以下操作:

1。 选择要合并重复项的范围数据。

doc-advanced-combine5

2。 然后点击 库工具 > 内容转换器 > 高级组合行。 看截图:

doc-advanced-combine6

3。 在 高级组合行 对话框中,选择列名称作为要基于其组合值的键列,然后单击“确定”。 关键列。 看截图:

doc-advanced-combine7

4。 然后继续单击您需要将其值合并到一条记录中的列,然后单击 合并作业 并选择 仅与分隔符结合,然后选择一个分隔符,您需要从右边的列表中分隔出组合的值。 看截图:

doc-advanced-combine8

5。 完成设置后,单击 OK,您的数据将根据键列进行合并,并以分隔符分隔。

doc-advanced-combine9

请注意: 如果您不需要为其余列设置操作,则只需保留默认状态即可。


箭头蓝色右气泡合并多个重复的行并使用Kutools for Excel将值求和/取平均值

有了这个多功能 高级组合行 实用程序,您可以合并重复的行,并对值进行一些计算。

1。 选择要合并重复项的范围数据。

2。 去的 高级组合行 对话框;

  • (1.)选择一个列名作为要基于其计算其他列值的键列,然后单击 关键列;
  • (2.)选择您需要对值进行一些计算的列,然后单击 合并作业 > 合并计算,然后选择一种所需的计算类型,在这种情况下,我选择 总和。 看截图:

doc-advanced-combine10

3。 如果您不需要为其余列设置操作,只需保持默认状态,然后单击 OK,则A列中的重复值将被合并,并且B列中其对应的值将相加。 查看屏幕截图:

doc-advanced-combine11 -2 doc-advanced-combine12

备注:

1.如果您检查 我的数据有标题 选项,应用此实用程序时将忽略范围的标题(第一行)。

2. 使用格式化的值:合并重复的单元格后,将保留值的格式。

3.此实用程序不可用于过滤数据。

单击以了解有关此高级合并行功能的更多信息。


相关文章:

合并重复的行并求和


最佳办公效率工具

Kutools for Excel解决了您的大多数问题,并使您的生产率提高了80%

  • 重用: 快速插入 复杂的公式,图表 以及您以前使用过的任何东西; 加密单元 带密码 创建邮件列表 并发送电子邮件...
  • 超级公式栏 (轻松编辑多行文本和公式); 阅读版式 (轻松读取和编辑大量单元格); 粘贴到过滤范围...
  • 合并单元格/行/列 不会丢失数据; 拆分单元格内容; 合并重复的行/列...防止细胞重复; 比较范围...
  • 选择重复或唯一 行; 选择空白行 (所有单元格都是空的); 超级查找和模糊查找 在许多工作簿中; 随机选择...
  • 确切的副本 多个单元格,无需更改公式参考; 自动创建参考 到多张纸; 插入项目符号,复选框等...
  • 提取文字,添加文本,按位置删除, 删除空间; 创建和打印分页小计; 在单元格内容和注释之间转换...
  • 超级滤镜 (将过滤方案保存并应用于其他工作表); 高级排序 按月/周/日,频率及更多; 特殊过滤器 用粗体,斜体...
  • 结合工作簿和工作表; 根据关键列合并表; 将数据分割成多个工作表; 批量转换xls,xlsx和PDF...
  • 超过300种强大功能。 支持Office / Excel 2007-2019和365。支持所有语言。 在您的企业或组织中轻松部署。 完整功能30天免费试用。 60天退款保证。
kte选项卡201905

Office选项卡为Office带来了选项卡式界面,使您的工作更加轻松

  • 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
  • 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
  • 每天将您的工作效率提高50%,并减少数百次鼠标单击!
officetab底部
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Ashley · 3 years ago
    I have used the code above successfully in the past however today, it is deleting column B. Looks like it's just removing duplicates...not sure what the issue is.

    Sample Data
    Reece, Ashley G01-Registered-UWG
    Reece, Chris G02-Registered-KSU
    Reece, Chris G03-Dropped-KSU
    Reece, Jayden G02-Registered-UNG
    Reece, Jayden G02-Withdrawn-UNG
  • To post as a guest, your comment is unpublished.
    Muveen · 4 years ago
    I have in column A

    1 Cast
    2 Crew
    3 Hiring
    4 Cast
    5 Hiring
    6 Crew

    I need these unique CAST CREW AND HIRING in another column without delete in column A entries.

    Ex: I need (after formula)

    1 Cast
    2 Crew
    3 Hiring

    Is it possible by formula?
  • To post as a guest, your comment is unpublished.
    Ilaiyaraja · 5 years ago
    Above Macro only Combine the limited cell(e.g 20 cells) in b column. How to Combine more cells
    • To post as a guest, your comment is unpublished.
      NewYears1978 · 4 months ago
      Same - 2021 and this still only works if you have like 20 rows...
  • To post as a guest, your comment is unpublished.
    David Greene · 7 years ago
    I've found that the "Combine multiple duplicate rows and sum/average the values" feature within KUTools does not work if the numbers in the row have a comma or period. This makes the tool unusable for combining and summing currency fields (which is why I tried the product in first place). I'm currently using the trial version which states that it is full-functioned; is it possible that this works in the paid version?
    • To post as a guest, your comment is unpublished.
      NewYears1978 · 4 months ago
      Same here. I was about to purchase because the tools are very nice, but figured I would try it first. Combine never works. I tried it for about 3 weeks now and it always locks up. No matter the power of my computer (ran on my at home powerhouse computer, same issue)

      I kept cutting down to less and less data to see if it would work but it still would not.

      The last one I tried was 4 columns and 100k rows and it still locked up. Not very useful unless you have like < 100 rows or something.
    • To post as a guest, your comment is unpublished.
      JP · 4 months ago
      Same here, I filtered my data all the way down to 4 columns and 100k rows and it still work not work. I have tried this for 3 weeks now and unable to successfully complete my task. Kutools will only work if you have very few rows.
    • To post as a guest, your comment is unpublished.
      Admin-jay · 7 years ago
      [quote name="David Greene"]I've found that the "Combine multiple duplicate rows and sum/average the values" feature within KUTools does not work if the numbers in the row have a comma or period. This makes the tool unusable for combining and summing currency fields (which is why I tried the product in first place). I'm currently using the trial version which states that it is full-functioned; is it possible that this works in the paid version?[/quote]
      Sorry, we will fix it in next version.