vba - 用于执行不同分析的 VBA 数据结构
问题描述
是否有某种数据结构可以用于以下分析?从视觉上看,这就是我在 Excel 中的数据
Condition ID Item1 Item2 Item3 ...
Ex A 1 A B C ...
Ex B 2
Ex C 3 C
Ex A 5 D A
Ex C 5
每行对应一个ID,可以有多个相同的ID。Condition 是一个字符串(上面也可以看到多个相同的条件),与任何# of Items 相关联(可以是none,也可以是重复的)。
我想要执行的功能是确定所有条件中唯一项目的总数,查看哪些项目出现最多/最少,条件和单个项目的组合最常见,以及每个条件的 ID 细分。
最好的方法是暴力破解我想回答的每个问题吗?例如,对于查找所有唯一目标的第一部分,我是否应该遍历每一行的单元格,直到单元格中的值 =“”,将每个项目添加到集合中,除非它已经存在于集合中?我觉得这样做和我想要执行的其他分析在编码和运行时间方面可能会花费太长时间?
解决方案
我想我想出了如何使用字典做一个部分(计算每个项目的实例数)
For row = 1 To lastRow
For col = 1 To lastCol
If arrayOfValues(row, col) <> "" Then
If rawString.Exists(arrayOfValues(row, col)) Then
rawString.Item(arrayOfValues(row, col)) = rawString.Item(arrayOfValues(row, col)) + 1
Else
rawString.Add arrayOfValues(row, col), 1
End If
Debug.Print arrayOfValues(row, col), rawString(arrayOfValues(row, col))
End If
Next col
Next row
推荐阅读
- python - Celery:我可以使用 Celery 一次执行一个函数实例吗?
- sql - 如果行以 \ 结尾,则 sp_executesql 失败
- c# - WinForms 应用程序中的 Windows 10 ToastNotification
- node.js - 无法在分区中设置检查点
- c# - SMTP 电子邮件在本地工作,但不适用于 Devops
- python - 如何在 0815 开始 celery 周期性任务并在 django 中每 15 分钟运行一次
- konvajs - 如何改变变压器旋转图标的位置
- android - 原因:javax.xml.bind.UnmarshalException:无法创建 com.android.repository.impl.generated.v1.TypeDetails Android 的实例
- python - 使用 pandas 合并两个数据框
- c++ - 防止 lambda 的返回类型扣除