早教吧作业答案频道 -->其他-->
在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中用宏合并同类项,...的网友还看了以下:
五(2)班21名同学跳高成绩如下(单位:米)1.2、1.1、0.9、1.2、1.4、0.95、1. 2020-04-27 …
一个课外兴趣小组共有5名成员,其中3名女性成员、2名男性成员,现从中随机选取2名成员进行学习汇报, 2020-05-14 …
x^2+y^2=4,z=0,z=2三者围成的第一卦限的区域,求三重积分,化成带θ的形式,θ角为0到 2020-07-03 …
某地随机检查了140名成年男性红细胞数(1012/L),数据的分布及频数如表:分组[3.8,4.0 2020-07-05 …
1.234的平方加0.766的平方加2.468成0.766怎么简便运算 2020-07-19 …
若随机变量X~N(u,σ2)(σ>0),则有如下结论()P(u-σ<X≤u+σ)=0.6826,P 2020-07-31 …
题目是∫(0→π/2)根号下(1-sin2x)dx但疑问是为何改区间?什么样的题目需要改区间?1-s 2020-11-01 …
设计了个问卷调查,里面牵扯评分,要求如下:50家候选公司,按得票多少取前30名,以名次计算得分.第1 2020-12-06 …
二进制的18:10010跟36:100100怎么区分换算成十进制:不懂是不是公式错误所以错误的算了下 2020-12-06 …
在选拔2016年第十三届全国冬季运动会速滑运动员时,教练打算根据平时训练成绩,从运动员甲和乙种挑选1 2020-12-09 …