欢迎来到山村网

提取Excel不重复值的自定义函数方案

2019-03-04 22:37:57浏览:340 来源:山村网   
核心摘要:提取Excel不重复值的自定义函数方案,Function MergerRepeat(Index As Integer, ParamArray arglist() As Variant) ------------

提取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的不重复数值。

在B1格设定公式:

=MergerRepeat(ROW(),$A$1:$A$10)

并向下填充。

3、求多个区域(可以不连续)加数组的不重复个数。

=COUNTA(MergerRepeat(0,A1:A6,{"abc","Excel吧",1,"excelba.com"},C2:C6))

(责任编辑:豆豆)
下一篇:

excel单元格中加上背景字

上一篇:

Excel2007同一单元格文本设置不同格式

  • 信息二维码

    手机看新闻

  • 分享到
打赏
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 xfptx@outlook.com