提取Excel不重复值的自定义函数方案,Function MergerRepeat(Index As Integer, ParamArray arglist() As Variant)
---------------------------------------------
’时间:2008-12-26
’理整:宇 bengdeng
’功能:获得指定单元格区域或数组中的不重复集合或值
’参数说明:
’Index:整型,当值小于1时,函数返回一个集合;
’ 大于1且小于不重复项的时,返回一个不重复的值
’ 大于不重复项时,返回空。
’arglist():可为单元格区域或数组常量。
----------------------------------------------
Dim NotRepeat As Object, tStr As String
Set NotRepeat = CreateObject("Scripting.Dictionary")
For Each arg In arglist
For Each rRan In arg
If TypeName(rRan) = "Range" Then
If rRan.Value <> "" Then NotRepeat(rRan.Value) = 0
Else
NotRepeat(rRan) = 0
End If
Next
Next
If Index < 1 Then
MergerRepeat = NotRepeat.keys
ElseIf Index <= NotRepeat.Count Then
arr = NotRepeat.keys
MergerRepeat = arr(Index - 1)
Else
MergerRepeat = ""
End If
End Function
下面用几个应用的实例,来说明该函数的应用。
1、返回A1:A10中不重复值的个数。
=COUNTA(MergerRepeat(0,A1:A10))
2、在B列从B1格开始列出A1:A10的不重复数值。
Excel轻松查看数据记录
Excel轻松查看数据记录 当你查看Excel数据表中某行记录时,由于数据表中的字段较多,需要拖动水平滚动条才能将整个表格的内容看完,这样很容易“看走眼”,不小心就会将上面一行或下面一行的内容错看成当前记录的数据。这样的数据交给领导,可是要挨批噢,其实通过下面的几行VBA代码,你就可以轻轻松松地查看记录了,操作步骤如下: 打开某工作表(假设为“Sheet1”),单击“工具”菜单中的“宏”,选择“Visual Basic编辑器”命令,双击左侧窗口中对应的工作表标签名称,在弹出的代码窗口中输入如下VBA代码:
在B1格设定公式:
=MergerRepeat(ROW(),$A$1:$A$10)
并向下填充。
3、求多个区域(可以不连续)加数组的不重复个数。
=COUNTA(MergerRepeat(0,A1:A6,{"abc","Excel吧",1,"excelba.com"},C2:C6))
批量删除Excel空行
批量删除Excel空行 在利用Excel统计与分析对象时,数据的录入工作不可能一蹴而就,记录的添加、删除、剪切、合并是少不了的,在经过多次的编辑修改过程之后,在表格中往往会出现许多的空行。这些空行的存在既不美观,同时也影响了数据分析的结果,通常情况下要将其删除。如果表格中的空行较少,那么只需一行一行地删除,但是如果工作表很大(比如数千行),而表格中的空行又许多,手动一行一行删除,无疑会耗费许多的时力。如果大家经常遇到这样的烦恼,不妨试试下面这些方法,可以快速、干净、批量将有名无实的空行清理出局。 “定