网站首页 > 知识剖析 正文
前文讲述了通过Keys转换成数组进行排序,这是比较简单的案例,实际应用中,字典的使用会变得复杂,条件也变得多样。因此实际上,我们在更多的使用中,需要对Items进行排序。
如下表,我们需要对各科成绩求和,然后再对总成绩进行排序。
我们讲解一下代码的思路。
- 我们利用字典对各科成绩进行求和
- 把字典中的Keys和Items转换成数组
- 利用Large函数对Items的数组进行求值
- 利用Match函数求Items数组取值的位置
- 最后得到对应的Keys数组值
代码如下 :
Sub dsort()
Dim d, arr, brr, crr
Dim i, j, w
Set d = CreateObject("scripting.dictionary")
arr = Range("A2:C15")
For i = 1 To UBound(arr)
d(arr(i, 1)) = d(arr(i, 1)) + arr(i, 3)
Next i
'把字典的Keys和Items分别转换成数组
crr = d.keys
brr = d.items
For j = 1 To d.Count
Range("F" & j + 2) = Application.Large(brr, j)
w = Application.Match(Application.Large(brr, j), brr, 0) - 1
Range("E" & j + 2) = crr(w)
Next j
End Sub
利用上面的代码,我们就能输出我们想要的结果了。
在实际应用中,也可以把Keys和Items转换成二维数组,再对数组进行排序。后面我再贴上一份可以对数组进行排序的自定义函数。
另外,我们也可以把排序后的数据,赋值给新的字典,放入内存中,随时可以方便数据的输出。
字典的应用很繁杂,就看使用过程所涉及到的需求。
关于字典排序的内容大概就是这些了。喜欢的朋友请点赞加关注,谢谢!
- 上一篇: Java常用的7大排序算法汇总
- 下一篇: EXCEL VBA: 重新排列数组的行和列
猜你喜欢
- 2025-01-20 Excel中的6个经典排序技巧都不掌握,还敢称Excel达人?
- 2025-01-20 查询函数Choose、Lookup、Hlookup、Vlookup应用技巧解读
- 2025-01-20 一起学《C程序设计》第六课——数组、字符串及实战练习
- 2025-01-20 一文解决CSP-J考纲所有排序算法
- 2025-01-20 Excel VBA 自定义函数/数组字段定位/数组字段排序
- 2025-01-20 java基础,arrays类,Java的八种排序,冒泡排序
- 2025-01-20 excel中什么是数组,数组的作用是什么,这篇文章就带你入门
- 2025-01-20 16.9 数组 - 数据排序技术
- 2025-01-20 怎么求第K大的数,topK 问题(快排的应用)java
- 2025-01-20 VBA按日期统计就餐时段刷卡及人数(数组字典内置函数去重排序)
- 04-29php开发者composer使用看这一篇就够了
- 04-29引用和变量声明在不同语言中的实作
- 04-29PHP 没你想的那么差
- 04-29Ubuntu linux 上的 Nginx 和 Php 安装
- 04-29CentOS下通过yum搭建lnmp(单版本PHP)
- 04-29为什么 PHP8 是个高性能版本
- 04-29PHP8函数包含文件-PHP8知识详解
- 04-29使用无参数函数进行命令执行
- 最近发表
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)