![用三个共同元素合并多个数据行,并从每行中添加特定值](https://linux22.com/image/1371484/%E7%94%A8%E4%B8%89%E4%B8%AA%E5%85%B1%E5%90%8C%E5%85%83%E7%B4%A0%E5%90%88%E5%B9%B6%E5%A4%9A%E4%B8%AA%E6%95%B0%E6%8D%AE%E8%A1%8C%EF%BC%8C%E5%B9%B6%E4%BB%8E%E6%AF%8F%E8%A1%8C%E4%B8%AD%E6%B7%BB%E5%8A%A0%E7%89%B9%E5%AE%9A%E5%80%BC.png)
我需要按订单号合并 400,000 行订单级数据,同时为具有相同订单号的每一行添加发货数量。
我需要合并具有三个共同元素(订单号、收件人、发货日期)的多个数据行,并从每行添加特定值(发货数量),并保留共同元素加上发货数量的总和。
实际上有 60867 个唯一订单号。因此,我希望能够合并到这么多唯一行,并汇总发货数量并保留标题中提到的值。
订单号 收件人 发货日期 发货数量 1540690 HBUK-02096-00850-ASHBOURNE - 00850 2/8/2012 10 1540690 HBUK-02096-00850-ASHBOURNE - 00850 2/8/2012 10 1540690 HBUK-02096-00850-ASHBOURNE - 00850 2/8/2012 10 1540690 HBUK-02096-00850-ASHBOURNE - 00850 2/8/2012 40 1540691 HBUK-02096-00858-CASTLEFORD - 00858 2/8/2012 10 1540691 HBUK-02096-00858-CASTLEFORD - 00858 2/8/2012 10 1540691 HBUK-02096-00858-CASTLEFORD - 00858 2/8/2012 30
答案1
这应该有效
Sub Chris()
Dim lrow As Long
With ActiveSheet
lrow = .Cells(65536, 1).End(xlUp).Row
.Cells(1).CurrentRegion.Sort key1:=.Cells(1), Header:=xlYes
Do
If .Cells(lrow - 1, 1) = .Cells(lrow, 1) Then
.Cells(lrow - 1, 4) = .Cells(lrow - 1, 4) + .Cells(lrow, 4)
.Rows(lrow).Delete
End If
lrow = lrow - 1
Loop Until lrow < 2
End With
End Sub
改编自来源