网站首页 > 知识剖析 正文
前文讲述了通过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按日期统计就餐时段刷卡及人数(数组字典内置函数去重排序)
- 05-14HTML5教程从《HTML+CSS基础课程》学习笔记中的技巧
- 05-14HTML 简介
- 05-14豆包给我输出的html在线象棋源码(有点简单)
- 05-14零基础学习HTML之html框架内嵌框架和head头信息设置
- 05-14nodejs搭建服务器显示静态html页面
- 05-14一个简单的个人网站模板
- 05-14DinkToPdf: .Net轻松搞定Html转PDF生成,几分钟上手!
- 05-148行代码实现一个websoket
- 最近发表
- 标签列表
-
- 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)