如何用数组字典分类求和呢
excel吧
全部回复
仅看楼主
level 8
团一团 楼主
2023年05月04日 08点05分 1
level 13
Sub 为什么会删图呢()
Set d = CreateObject("scripting.dictionary")
arr = Range("a1").CurrentRegion
For i = 2 To UBound(arr)
If Not d.Exists(arr(i, 1)) Then
If arr(i, 3) = "GG" Or arr(i, 3) = "HH" Then
d(arr(i, 1)) = Array(arr(i, 1), arr(i, 2), 0)
ElseIf arr(i, 3) = "JJ" Then
d(arr(i, 1)) = Array(arr(i, 1), 0, arr(i, 2))
End If
Else
If arr(i, 3) = "GG" Or arr(i, 3) = "HH" Then
d(arr(i, 1)) = Array(arr(i, 1), d(arr(i, 1))(1) + arr(i, 2), d(arr(i, 1))(2))
ElseIf arr(i, 3) = "JJ" Then
d(arr(i, 1)) = Array(arr(i, 1), d(arr(i, 1))(1), d(arr(i, 1))(2) + arr(i, 2))
End If
End If
Next i
[e1:g1] = [{"型号","数量GG+HH","数量JJ"}]
[e2].Resize(d.Count, 3) = WorksheetFunction.Transpose(WorksheetFunction.Transpose(d.Items))
End Sub
2023年05月04日 14点05分 4
感谢[真棒],删图可能发的贴不是求助贴。。之前也出现这种情况
2023年05月05日 00点05分
level 13
2023年05月04日 14点05分 5
level 12
没看懂为什么要用字典的思路去做
2023年05月05日 04点05分 6
数据量比较大,函数会很卡
2023年05月05日 09点05分
@团一团 他的意思是. 数组就够了.不用强行往字典上凑的意思. [你懂的]
2023年05月05日 09点05分
@阿良 其实我想说用个for循环也就是一秒钟的事。。
2023年05月05日 10点05分
为了满足题目要求嘛.
2023年05月05日 11点05分
level 9
没必要强行字典,
2023年05月05日 12点05分 7
1