Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
12
返回列表 发新帖
楼主: 陈俊超

[已解决]VBA统计判断某人的数据与其他人数据的重复个数

[复制链接]
发表于 2022-1-8 19:28 | 显示全部楼层
ahn 发表于 2022-1-8 17:22
要统计两两重复值,推荐使用字典嵌套方式,代码既简洁又高效。
不要拼接数值为字符串来当作字典键值,否则 ...

老師您好,後學寫得不好,想學習一下您所說的字典嵌套方式,請您上解答指導學習一下,感謝

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
回复

使用道具 举报

发表于 2022-1-9 09:48 | 显示全部楼层
ahn 发表于 2022-1-8 17:22
要统计两两重复值,推荐使用字典嵌套方式,代码既简洁又高效。
不要拼接数值为字符串来当作字典键值,否则 ...

字典嵌套确实要看起来简单也快一些。不过没那么容易懂
回复

使用道具 举报

发表于 2022-1-10 18:00 | 显示全部楼层
林木水 发表于 2022-1-7 21:48
思路:
1.去重名字
2.根据名字把所有数值重组成一串字符串

Set d= CreateObject("Scripting.Dictionary")


如果不用new,用后期绑定,可以不用 工具 引用
回复

使用道具 举报

发表于 2022-1-10 18:20 | 显示全部楼层

Screenshot_2022-01-10-18-19-06-250_cn.wps.moffice_eng.jpg ac
ab


ab,ac
ab是2次,还是1次?




回复

使用道具 举报

发表于 2022-1-10 18:32 | 显示全部楼层
sam-wang 发表于 2022-1-8 19:28
老師您好,後學寫得不好,想學習一下您所說的字典嵌套方式,請您上解答指導學習一下,感謝

https://mp.weixin.qq.com/s?src=11×tamp=1641810645&ver=3550&signature=AQOlnO8daT3v*pweneTkk7IiDC6k5eGz2PVppr-SUPzvEh74*bbx0q*2YsGYp37wxMRGreEFZMA9Mkl-mA-*-pr2W9Vd6ppmUyR340-44x8qS*FlCgerrNAt8NVuJ-T*&new=1

教程
回复

使用道具 举报

发表于 2022-1-10 18:35 | 显示全部楼层
zpy2 发表于 2022-1-10 18:00
Set d= CreateObject("Scripting.Dictionary")

嗯,了解
回复

使用道具 举报

发表于 2022-1-10 21:18 | 显示全部楼层
sam-wang 发表于 2022-1-8 19:28
老師您好,後學寫得不好,想學習一下您所說的字典嵌套方式,請您上解答指導學習一下,感謝
  1. Sub 字典嵌套()
  2. Dim arr, i As Integer
  3. arr = Range("a1:b17")
  4. Dim d As Object
  5. 'Dim d As New Dictionary
  6. Set d = CreateObject("scripting.dictionary")
  7. For i = 1 To UBound(arr)
  8.     If d.Exists(arr(i, 1)) = False Then
  9.        Set d(arr(i, 1)) = CreateObject("scripting.dictionary")
  10.     End If
  11.         d(arr(i, 1))(arr(i, 2)) = ""
  12. Next i
  13. Debug.Print d(arr(1, 1)).Count
  14. End Sub
复制代码
简单得做一个字典嵌套例题:
字典分为2部分组成:key,item
嵌套得原理就是item以字典形式存在
以往加载字典是比如是d(值)="":值是key,而后面双引号里面是item,改成set d(值)=createobject("scripting.dictionary"),因为是对象所有要前面价格set

同样得道理,item里面嵌套得字典也是2部分组成,key,item,如果还要嵌套,继续在在item里面创建字典,比如
set d(值)(key)=createobject("scripting.dictionary")
依次类推。
而如何要调用嵌套得字典值,那就以d(值)(key).keys去抓取所有嵌套后得内容;d.keys是第一层keys,d(不同值).keys是第二层,d(值)(key).keys是第三层,以此类推

字典嵌套.rar

10.51 KB, 下载次数: 0

回复

使用道具 举报

发表于 2022-1-11 07:07 | 显示全部楼层
林木水 发表于 2022-1-10 21:18
简单得做一个字典嵌套例题:
字典分为2部分组成:key,item
嵌套得原理就是item以字典形式存在

感謝您的解釋,謝謝
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-25 15:58 , Processed in 0.204050 second(s), 7 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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