excel - VBA:在a列中查找重复项,添加b和c的总和
问题描述
这一切都很新,只是试一试。只是在 excel 中构建了一个宠物项目,并且进展顺利(我实际上已经爱上了它,并且非常享受自己!)......直到我撞到这堵墙,我完全被难住了。
无论如何,我已经碰壁了,并且一直在寻找答案。
我正在尝试配置一个 vba 以在 a 列中查找重复项(比如项目)。当它找到重复项时,我希望它取 b 列并添加总和并取 c 列并添加总和。所有重复项都被删除,它被替换/新表很好,整洁。我尝试了 100 种不同的东西,搜索和搜索,但一无所获。
这就是我想要实现的目标:
我正在看类似的东西,但它只适用于对 b 列求和。
Dim Cl As Range
Dim Cnt As Long
With CreateObject("scripting.dictionary")
For Each Cl In Range("a1", Range("a" & Rows.Count).End(xlUp))
If Not .exists(Cl.Value) Then
.Add Cl.Value, Cl.Offset(, 1).Value
Else
.Item(Cl.Value) = .Item(Cl.Value) + Cl.Offset(, 1).Value
End If
Next Cl
Sheets("test").Range("A1").Resize(.Count).Value = Application.Transpose(.Keys)
Sheets("test").Range("B1").Resize(.Count).Value = Application.Transpose(.items)
End With
但它只适用于第一列。我无法弄清楚如何使用第二个范围。任何帮助将不胜感激。
解决方案
您可以在 O365 中不使用 VBA 来执行此操作。
E1 =UNIQUE(A1:A16)
F1 =SUMIFS(B$1:B$16,$A$1:$A$16,$E1#)
G1 =SUMIFS(B$1:B$16,$A$1:$A$16,$E1#)
推荐阅读
- python - 使用 bs4 解析 utf-8 编码页面中的特殊字符的问题
- c++ - 如何使用参数初始化作为模板参数给出的类
- python - 第一次迭代后内部 for 循环被忽略,外部 for 循环工作得很好
- typescript - 打字稿:如何键入具有不同类型的未知大小的元组?
- laravel - 用于子域 API 的 Laravel CORS
- css - 覆盖 CSS 问题
- mysql - 在 MySQL 中查找可用的预约空档
- javascript - 渲染 Next.js 没有返回任何内容
- java - 从 Java 8 更新到 Java 11 时找不到 java.sql.Connection 的类文件错误
- vb.net - 如果复选框 checket = true,则将“X”放入 datagridview 中的相应单元格