早教吧作业答案频道 -->其他-->
在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中用宏合并同类项,...的网友还看了以下:
自然底数e^0.4πi怎么算?就是问它的计算公式(原题09年清华自主招生的一道数学题). 2020-03-30 …
设a为常数,并设lim(x->0-)[(4+e^1/x)/(1+e^4/x)]+asinx/|x| 2020-05-17 …
lingo中未知数的限定我想知道如何在lingo中表达如下意思:对于未知数x的限定范围是0,0.1 2020-05-24 …
运算定律2.14+8.79+1.86应用()律应用()律2.5×98.7×0.4应用()律应用() 2020-06-03 …
填上应用的运算定律,并算完整12.14+8.79+1.86=8.79+2.14+1.86.应用() 2020-06-03 …
2.5×(4+0.4)=2.5×4+2.5×0.4应用了律. 2020-06-19 …
一条绳子长40%米.rt,说明理由.40%=0.改为0.4应该可以的,但用40%又说不过去,有谁能 2020-07-10 …
已知椭圆的中心在坐标原点O,焦点在x轴上,经过点A(0,2倍根号3),离心率为2分之1,1.求椭圆 2020-07-20 …
求过点e(0,-4)的直线l使其交椭圆于点m,n,且满足om·on=16/7 2020-07-24 …
E(-4,2)F(-1,1),以原点0为位似中心,按比例尺1:2把△EFO缩小,点E的对应点E`的 2020-08-02 …