ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
123
返回列表 发新帖
楼主: huangxuejin

[求助] 统计同时计数和求和

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-6-18 20:50 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
SQL统计次数和总和

统计次数及总和.rar

22.23 KB, 下载次数: 1

TA的精华主题

TA的得分主题

发表于 2024-6-18 22:19 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
240618 221905.gif

TA的精华主题

TA的得分主题

发表于 2024-6-18 22:22 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
练个手
  1. Public Sub X()
  2.     Dim dic As Object
  3.     Set dic = CreateObject("Scripting.Dictionary")
  4.     Dim wb As Workbook, sht As Worksheet
  5.     Set wb = Application.ThisWorkbook
  6.     Set sht = wb.Worksheets(1)
  7.     With sht
  8.         eRow = .Cells(.Rows.Count, 1).End(xlUp).Row
  9.         Set Rng = .Range("A2:Z" & eRow)
  10.         arr = Rng.Value
  11.         For i = LBound(arr) To UBound(arr)
  12.             Key = CStr(arr(i, 1))
  13.             If Not dic.Exists(Key) Then
  14.                 Ar = Array(Key, 1, arr(i, 2))
  15.                 dic(Key) = Ar
  16.             Else
  17.                 Ar = dic(Key)
  18.                 Ar(1) = Ar(1) + 1
  19.                 Ar(2) = Ar(2) + arr(i, 2)
  20.                 dic(Key) = Ar
  21.             End If
  22.         Next i
  23.         Set Rng = .Range("d2")
  24.         Set Rng = Rng.Resize(dic.Count, 3)
  25.         Rng.Value = Application.Rept(dic.items, 1)
  26.     End With
  27. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2024-6-18 22:29 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2024-6-18 22:31 | 显示全部楼层
鲜花店练手
  1. '' 过程开始 X改为你想要的名字
  2. Public Sub X()
  3.     '' 代码从这里开始写
  4.     '' 声明名为dic的变量
  5.     Dim dic As Object
  6.     '' 创建一个字典dic
  7.     Set dic = CreateObject("Scripting.Dictionary")
  8.     '' 声明工作簿变量wb和工作表变量sht
  9.     Dim wb As Workbook, sht As Worksheet
  10.     '' 设置wb为当前工作簿
  11.     Set wb = Application.ThisWorkbook
  12.     '' 设置sht为指定名称的工作表,引号内填写工作表名称
  13.     Set sht = wb.Worksheets(1)
  14.     '' 使用With语句,方便对工作表Sht进行多次操作
  15.     With sht
  16.         '.Usedrange.Offset(1).clear
  17.         '' 获取列A中最大数据行的行号
  18.         eRow = .Cells(.Rows.Count, 1).End(xlUp).Row
  19.         '' 设置范围从A2开始到Z列的eRow行结束
  20.         Set Rng = .Range("A3:Z" & eRow)
  21.         '' 将范围Rng的值赋给数组Arr
  22.         arr = Rng.Value
  23.         '' 变量 i 从数组Arr最小索引开始,遍历至其最大索引
  24.         For i = LBound(arr) To UBound(arr)
  25.             Key = CStr(arr(i, 4))
  26.             '' 若字典dic中不存在键key 则执行
  27.             If Not dic.Exists(Key) Then
  28.                 '' 创建一个数组Ar,只有一个元素1
  29.                 '' 若字典dic中不存在键key 则执行
  30.                 Ar = Array(Key, 1, arr(i, 7))
  31.                 '' 把键值对 key-Ar 存入数组,key与Ar是一 一对应关系
  32.                 dic(Key) = Ar
  33.             Else
  34.                 '' 若字典dic中存在键key 则执行
  35.                 '' 取出字典中key对应的数组,赋值给Ar
  36.                 Ar = dic(Key)
  37.                 '' 对取出的数组Ar执行一些操作
  38.                 Ar(1) = Ar(1) + 1
  39.                 Ar(2) = Ar(2) + arr(i, 7)
  40.                 '' 再次把键值对 key-Ar 存入数组,key与Ar是一 一对应关系
  41.                 dic(Key) = Ar
  42.             End If
  43.         Next i
  44.         ' 设置范围为A2单元格
  45.         Set Rng = .Range("j3")
  46.         ' 调整范围Rng的大小,行数为字典键值对数量dic.Count,列数为2
  47.         Set Rng = Rng.Resize(dic.Count, 3)
  48.         ' 调整范围Rng的大小,行数为字典键值对数量dic.Count,列数为值数组的元素数量
  49.         Rng.Value = Application.Rept(dic.items, 1)
  50.     End With
  51. End Sub
  52. '' 过程结束
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-6-19 07:48 | 显示全部楼层

小白的我仅有一声谢谢,谢谢各位老师,用宝贵的时间帮助了我,还是一声谢谢,谢谢
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-14 14:50 , Processed in 0.042228 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表