gpt4 book ai didi

VBA 创建字典聚合值

转载 作者:行者123 更新时间:2023-12-04 21:52:34 24 4
gpt4 key购买 nike

我有六个变量,代表三对(键/值)。它永远是三对。

cb1 = 1: cb1value = 10
cb2 = 1: cb2value = 20
cb3 = 8: cb3value = 10

我失败的是根据键聚合字典中的值。
因此,在上述情况下,结果将是:
1, (10, 20)
8, (10)

这里的最终目标是使用 Sum(key) 来获得每个键的总数。

编辑:感谢到目前为止的答复。也许我只是想得太复杂了。首先,我将所有值放在一个数组中,然后循环遍历它。
MyArray = Array(cb1, cb1value, cb2, cb2value, cb3, cb3value)

现在键是每 2 步,所以在我的循环中:
For i = 0 To 5 Step 2
If Not (keywords.Exists(MyArray(i))) Then
keywords.Add MyArray(i), Collection(MyArray(i + 1))
Else
'If the key exists, the value should be added to the existing key's collection. **But how?**
End If
Next i

最佳答案

For i = lbound(MyArray) To UBound(MyArray)-1 Step 2 
If Not (keywords.Exists(MyArray(i))) Then keywords.Add MyArray(i), New Collection
keywords(MyArray(i)).Add MyArray(i + 1)
Next i

要获取集合中所有条目的总和:
Function SumCollection(col as Collection)
Dim rv As Double, i
For Each i in col
rv = rv + i
Next i
SumCollection = rv
End Function

如果您只需要总和,则不需要集合:只需在添加每个项目时直接在字典中求和。

关于VBA 创建字典聚合值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51386958/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com