早教吧作业答案频道 -->其他-->
在EXCEL中用宏合并同类项,并数量相加?如下图,A是供应商的名称,B是规格,C是数量,D是单位.如何合并成下图?求高手做个宏,ABCD60120816012071306032306052303011204022303011204012306052合
题目详情
在EXCEL中用宏合并同类项,并数量相加?
如下图,A是供应商的名称 ,B是规格,C是数量,D是单位.如何合并成下图?求高手做个宏,
A B C D
60 120 8 1
60 120 7 1
30 60 3 2
30 60 5 2
30 30 1 1
20 40 2 2
30 30 1 1
20 40 1 2
30 60 5 2
合并后成这样
A B C D
60 120 15 1
30 60 13 2
20 30 2 1
40 1 2
合并后 B列40是 3 .
如下图,A是供应商的名称 ,B是规格,C是数量,D是单位.如何合并成下图?求高手做个宏,
A B C D
60 120 8 1
60 120 7 1
30 60 3 2
30 60 5 2
30 30 1 1
20 40 2 2
30 30 1 1
20 40 1 2
30 60 5 2
合并后成这样
A B C D
60 120 15 1
30 60 13 2
20 30 2 1
40 1 2
合并后 B列40是 3 .
▼优质解答
答案和解析
Sub 汇总()
Dim arr, brr, crr, r%, rr%
r = [A65536].End(3).Row
arr = Range("a2:d" & r)
Range("a2:d" & r).ClearContents
t = 1
For i = 1 To UBound(arr)
If Trim(arr(i, 1)) "" Then
y = Trim(arr(i, 1)) & Trim(arr(i, 2)) & Trim(arr(i, 4))
brr = arr(i, 3)
For j = i + 1 To UBound(arr)
yy = Trim(arr(j, 1)) & Trim(arr(j, 2)) & Trim(arr(j, 4))
If y = yy Then
brr = brr + arr(j, 3)
arr(j, 1) = ""
End If
Next
t = t + 1
arr(i, 3) = brr
Range("a" & t).Resize(1, UBound(arr, 2)) = Application.Index(arr, i, 0)
brr = ""
End If
Next
End Sub
提供一个不使用字典汇总数据的方法,希望能满足你的要求
Dim arr, brr, crr, r%, rr%
r = [A65536].End(3).Row
arr = Range("a2:d" & r)
Range("a2:d" & r).ClearContents
t = 1
For i = 1 To UBound(arr)
If Trim(arr(i, 1)) "" Then
y = Trim(arr(i, 1)) & Trim(arr(i, 2)) & Trim(arr(i, 4))
brr = arr(i, 3)
For j = i + 1 To UBound(arr)
yy = Trim(arr(j, 1)) & Trim(arr(j, 2)) & Trim(arr(j, 4))
If y = yy Then
brr = brr + arr(j, 3)
arr(j, 1) = ""
End If
Next
t = t + 1
arr(i, 3) = brr
Range("a" & t).Resize(1, UBound(arr, 2)) = Application.Index(arr, i, 0)
brr = ""
End If
Next
End Sub
提供一个不使用字典汇总数据的方法,希望能满足你的要求
看了在EXCEL中用宏合并同类项,...的网友还看了以下:
1.证明等式:(2,3)+(2,5)=(2,15)规定两数a,b之间的一种运算,记作(a,b):如 2020-06-06 …
当x∈[-2,1]时,不等式ax3-x2+4x+3≥0恒成立,则实数a的取值范围是()A.[-5, 2020-06-23 …
设a+b+c=6,a^2+b^2+c^2=14,a^3+b^3+c^3=36,求abc的值和a^4 2020-06-30 …
今年我省某一天的天气预报中,张家口市的最低气温为-6℃,石家庄市的最低气温为2℃,那么,这一天张家 2020-07-14 …
已知:b是最小的正整数,且a、b满足(c-6)2+|a+b|=0,请回答问题(1)请直接写出a、b 2020-07-31 …
求一段简单的mathematica程序,计算该多项式的解如题,解下式:(a-i)+h/x-a*ln 2020-07-31 …
我想问问什么是“等式的严格成立条件”“化简最后得到:c^2*x=(2*c+6)x^2+9*x;要保正 2020-11-07 …
在汕头6月1日22时看到的星空,再次能看到同样的星空是()A.6月2日22时B.6月2日21时56分 2020-11-12 …
陕西省元月份某一天的天气预报中,延安市的最低气温为-6℃,西安市的最低气温为2℃,这一天延安市的最低 2020-11-13 …
已知a是最大的负整数,且b、c满足|b-1|+(c+6)2=0.(1)填空:a=,b=,c=;(2) 2020-11-20 …