我们将使用下表来演示如何在 Excel 中合并重复项。
方法一 – 使用 IF 函数将重复项与文本合并我们将合并重复产品的销售人员姓名。
我们添加了两列:组合名称和帮助程序。选择数据范围转到首页标签,选择排序和过滤,然后选择自定义排序。
将打开排序对话框。选择以下内容:
排序方式→ 产品 排序依据 → 单元格值 顺序 → A 到 Z
按确定。
这会将产品名称从 A 到 Z 进行排序。
在单元格 D5 中使用以下公式。=IF(B5=B4,D4&", "&C5,C5)B5=B4→“苹果”=“产品”IF(B5=B4, D4&”, “&C5, C5) → IF(“Apple ”=“产品”, D4&”, “&C5,C5) 变为IF( FALSE, D4&”, “&C5, “Robin ”) → 因为这里的逻辑条件是 FALSE,所以它只会返回销售人员的 name 否则,它将在 & 运算符的帮助下将 Combined Names 列的单元格的值与 Salesperson 列的后续单元格的值组合起来。 输出→ 罗宾
按 Enter 键并向下拖动填充手柄工具。
这将合并重复行的销售人员姓名。
在单元格 E5 中使用以下公式。=IF(B6<>B5,"useful","")IF(B6<>B5,”有用”,””) → IF(“Apple ” <> “Apple ”,”有用”,””) 返回IF(FALSE,”useful”,””) → 因为值相等,所以IF 将返回空白 输出 → 空白
按 Enter 键并向下拖动填充手柄。
您将对重复的行很有用。
选择数据范围。从排序和过滤中,选择过滤。
过滤器符号将出现在表格的每一列中。选择助手列的下拉列表。
选择有用选项,然后单击确定。
结果:
方法 2 – 使用“合并和居中”选项合并 Excel 中的重复项我们将合并“产品”列中具有相同值的单元格。
按照方法1的步骤将产品名称从A到Z排序。 选择包含 Apple 的两个单元格。转到首页标签,然后点击合并并居中。
您会收到一个消息框。按确定。
这将合并包含 Apple 的前两个单元格。
对其他重复单元格重复上述操作,即可得到下表。
方法 3 – 使用 Power Query
我们将合并产品列中的重复行。
转到数据选项卡并选择来自表/范围。
将打开创建表对话框。选择数据范围。选中我的表格有标题,然后按确定。
将出现 Power Query 编辑器
选择有重复值的产品列。转到首页并选择分组依据。
将弹出分组依据向导。 选择以下选项:基本 产品(栏目名称) 新列名称 → 计数 操作→计算行数
按确定。
结果:
方法 4 – 使用数据透视表合并 Excel 中的重复项我们将合并 Product 中的重复行并对它们相应的 Sales 值求和。
转到插入并选择数据透视表。
将打开表或范围中的数据透视表对话框。选择数据范围。选中新工作表并按确定。
将出现一个新工作表,其中有两个面板,数据透视表1位于左侧,数据透视表字段位于右侧。
将产品拖至行区域,并将销售拖至值区域。
结果:
方法 5 – 使用合并选项合并 Excel 中的重复项我们将合并重复的行并对它们相应的销售值求和。
步骤:
选择要获取输出的单元格。转到数据并选择合并。
合并向导将打开。选择求和(或任何其他函数)作为函数,数据范围作为参考,然后单击添加。 选中顶行和左列选项,然后按确定。
您将获得所选区域中的合并值。
我们为新的合并表使用了边框。
方法 6 – 使用 VBA 代码合并 Excel 中的重复项我们将合并重复的行并对它们相应的销售值求和。
转到开发人员选项卡并选择Visual Basic。
Visual Basic 编辑器将打开。转到插入并选择模块。
将创建一个模块。
插入以下代码。Sub MergeDuplicates()
Dim Rng As Range
Dim d As Variant
Dim y As Variant
On Error Resume Next
Set Rng = Application.Selection
TitleId = "Merge Duplicates in Excel"
Set Rng = Application.InputBox("Range", TitleId, Rng.Address, Type:=8)
Set d = CreateObject("Scripting.Dictionary")
y = Rng.Value
For i = 4 To UBound(y, 1)
d(y(i, 1)) = d(y(i, 1)) + y(i, 2)
Next
Application.ScreenUpdating = False
Rng.ClearContents
Rng.Range("A1").Resize(d.Count, 1) = Application.WorksheetFunction.Transpose(d.keys)
Rng.Range("B1").Resize(d.Count, 1) = Application.WorksheetFunction.Transpose(d.items)
Application.ScreenUpdating = True
End Sub我们已将 Rng 声明为 Range,将 d、y 声明为 Variant,并使用 On Error Resume Next 来忽略错误并继续或恢复代码执行到下一个单元格。
FOR 循环用于从 i=4 开始的一系列行(因为我们的数据表从第 4 行开始)和 UBOUND函数将确定数组的大小。
按F5合并 Excel 中的重复项(自定义函数的名称)向导将打开。选择范围并按确定。
结果:
练习部分我们在名为“练习”的表中提供了如下练习部分,以便您可以测试这些方法。
在 Excel 中合并重复项:知识中心合并 Excel 中的重复行合并 Excel 中的重复行而不丢失数据如何在 Excel 中合并重复行并对值求和