我在 Excel 工作表上有一张很大的(170 万行)销售数据表,除了唯一 ID 和时间戳外,许多条目都相同。我想通过合并按我的标准重复的行(即仅在我不关心的参数中唯一)来整合这些数据。
仅此一点几乎就可以通过使用“删除重复项”功能来实现,但我说“合并”是因为我还希望结果对其中一列求和,这表示该特定订单中有多少个项目。
我期待从这样的事情开始:
A | B | C | D | E | F | “OldSheet”
OID | Client | Program | Count | Status | Time |
436266 | Initech | SEO | 1 | Invoiced| 00:52 |
436267 | Initech | SEO | 2 | Invoiced| 01:12 |
436269 | Initech | SEM | 1 | Invoiced| 04:52 |
436268 |Initrode | SEO | 1 | Invoiced| 02:22 |
436269 | Initech | SEM | 3 | Invoiced| 04:52 |
。。。变成这样:
OID | Client | Program | Count | Status | Time | “NewSheet”
...... | Initech | SEO | 3 | Invoiced| ..... |
...... | Initech | SEM | 4 | Invoiced| ..... |
...... |Initrode | SEO | 1 | Invoiced| ..... |
该表最终被几个数据透视表引用,因此需要保持相同的格式。
答案1
使用数据透视表的解决方案可能如下所示。
要实现表格布局,请进入“数据透视表设计”菜单,然后将“报告布局”更改为以表格形式显示. 关闭每列的小计。
请记住在“计数”值字段上使用 SUM,因为其中的数字大于 1。
答案2
我在写这个问题的过程中设法解决了这个问题。我的解决方案是将旧表复制到新选项卡,仅根据我关心的列删除重复项,然后在新“计数”列中放置一个 SUMIFS() 公式,该公式将旧选项卡中的每个单元格与新选项卡中我关心的列中的单元格进行检查,并将符合所有条件的每一行的旧“计数”列中的数字相加。这是我的公式(针对上述示例进行了调整):
=SUMIFS(OldSheet!D:D,OldSheet!B:B,NewSheet!B2,OldSheet!C:C,NewSheet!C2,OldSheet!E:E,NewSheet!E2)
答案3
我会使用 Power Query 插件。它有一个 Group By 命令,您可以在其中指定分组列,还可以计算总和或类似的聚合函数:
http://office.microsoft.com/en-au/excel-help/group-rows-in-a-table-HA103993875.aspx
您可以将结果输出到新的 Excel 表。