体验零代码搭建

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

网友投稿  ·  2024-02-02 16:02  ·  云表格  ·  阅读 675


提取Excel不重复值的自定义函数方案,Function MergerRepeat(Index As Integer, ParamArray arglist() As Variant)

提取Excel不重复值的自定义函数方案,Function MergerRepeat(Index As Integer, ParamArray arglist() As Variant)

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

---------------------------------------------

’时间: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轻松查看数据记录 << 上一篇
2024-02-02 16:02
用有效性圈出Excel表格中指定数据
2024-02-02 16:02
下一篇 >>

相关推荐