Excel技巧教程:如何提取Excel不重复值的自定义函数

发布: 2009-2-16 11:02  作者: 网络转载  查看: 4195次 共有0条评论

技巧教程:如何提取Excel不重复值的自定义函数

  关于如何提取Excel不重复值的自定义函数,提取不重复数值的话题,在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")
   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技巧教程:如何提取Excel不重复值的自定义函数 的评论
最新PPT教程
最新评论
PPT问答