在Excel中,在单元格中做下拉列表,是最普遍的一个Excel使用场景。
但是,最近遇到了这么个问题,如下所示
A列是一堆发票号码,[……]
阅读全文>>>关注和分享Excel以及Office系列软件的方方面面,致力于提高中国的办公软件的使用水平
在python中可以使用字典。
字典是python的内置数据类型。
字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号分隔,整个字典包括在花括号 {} 中。[……]
阅读全文>>>countif函数可以统计单元额区域中指定数据的出现次数,是一个常用的excel函数。
在数据量较少时,这个函数的统计可以很轻松的完成。
但是当遇到十万行级别的数据时,再利用countif函数进行[……]
阅读全文>>>在用vba处理单元格数据时,会遇到相同的单元格内容需要批量处理的情况。
如下图所示
A列的品类含有多个相同项,如果要把相同项所在的单元格区域罗列出来,可以使用如下的代码:
[crayon[……]
将单元格区域的数据按照某个字段进行拆分,是一个经常需要遇到的问题。
以下代码利用字典按照任意字段拆分单元格区域的数据,同时将拆分后的数据单独另存为一个excel工作簿。
[crayon-6008d08[……]
一对多查找是一种普遍的问题。
在vba中如果要实现一对多查找,可以借助字典Dictionary对象。代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
Sub QQ1722187970() Dim oWK As Worksheet Set oWK = Sheet1 '存入结果 '定义字典对象变量 Dim oDic As Object '创建字典对象 Set oDic = CreateObject("Scripting.Dictionary") Dim arrKey Dim arrItem With oWK For i = 2 To .Range("a65536").End(xlUp).Row sID = .Cells(i, "a").Value sValue = .Cells(i, "b").Value With oDic If .exists(sID) Then sTemp = .Item(sID) sTemp = sTemp & "!" & sValue .Item(sID) = sTemp Else .Add sID, sValue End If End With Next i End With '读取结果 Set oWK = Sheet2 With oWK For i = 2 To .Range("a65536").End(xlUp).Row sID = .Cells(i, "a").Value sValue = oDic.Item(sID) arr = Split(sValue, "!") If UBound(arr) Then End If Next i End With '释放字典对象,清空内存 Set oDic = Nothing End Sub |
[……]
阅读全文>>>在excel根据某个字段合并同类项是一个经常会碰到的问题。
如果合并同类项后,其余字段只是简单的累加或者计数或者计算平均值等,在excel中可以使用“合并计算”或者“数据透视表”功能来实现。
如果[……]
阅读全文>>>经常写vba代码就一定需要用到Dictionary字典对象。
字典对象可以用来存储数据对,每对数据由数据内容和数据的键值组成,每个数据内容有唯一的一个键值与之匹配。
当遇到重复的键值时,将会报错。[……]
阅读全文>>>