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

2016-02-20 13:09 27 1 收藏

生活已是百般艰难,为何不努力一点。下面图老师就给大家分享提取Excel不重复值的自定义函数方案,希望可以让热爱学习的朋友们体会到设计的小小的乐趣。

【 tulaoshi.com - Excel教程 】

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

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

’时间:2008-12-26

’理整:宇 bengdeng

’功能:获得指定单元格区域或数组中的不重复集合或值

’参数说明:

’Index:整型,当值小于1时,函数返回一个集合;

’ 大于1且小于不重复项的时,返回一个不重复的值

’ 大于不重复项时,返回空。

’arglist():可为单元格区域或数组常量。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

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

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

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))

来源:http://www.tulaoshi.com/n/20160220/1647580.html

延伸阅读
标签: 办公软件
大家知道,我们在编辑Excel工作表时,除了可以用其内置的函数处理表中的数据外,还可以根据自己的实际需要,自定义函数来处理表中的数据。如图1所示是一个学生基本情况登记表,学号的编制原则是:前4位是年份,第5位是初、高中代码(1是初中,2是高中),第6位是年级代码(1分别代表初、高一等),第7、8位是班级代码,后面是序号。下面,我们以...
标签: 办公软件
大家知道,我们在编辑Excel工作表时,除了可以用其内置的函数处理表中的数据外,还可以根据自己的实际需要,自定义函数来处理表中的数据。 如图1所示是一个学生基本情况登记表,学号的编制原则是:前4位是年份,第5位是初、高中代码(1是初中,2是高中),第6位是年级代码(1分别代表初...
标签: 办公软件
大家知道,我们在编辑Excel工作表时,除了可以用其内置的函数处理表中的数据外,还可以根据自己的实际需要,自定义函数来处理表中的数据。 如图1所示是一个学生基本情况登记表,学号的编制原则是:前4位是年份,第5位是初、高中代码(1是初中,2是高中),第6位是年级代码(1分别代表初、高一等),第7、8位是班级代码,后面是序号。下面...
标签: 电脑入门
为了将工作表中特定的显示设置(如行高、列宽、单元格选择、筛选设置和窗口设置等)和打印设置(页边距、纸张大小、页眉和页脚以及工作表设置等)保存在特定的视图中,用户可在设置后自定义视图模式,其具体操作为: 在视图选项卡的工作簿视图组中单击自定义视图按钮,如图所示: 在打开的视图管理器对话框中单击添加按钮,打开添加视图对话框...
标签: ASP
  最近有一个计算周的需要,看了网上现成的代码,不太合适,只好自己动手了。 默认把该年第一个星期一作为第一周的开始。 '计算某年第一周开始日期 function firstday(inputyear)  for i=cdate(inputyear&"-1-1") to cdate(inputyear&"-1-7")   if weekday(i)=2 then    firstday=i    exit for ...

经验教程

897

收藏

46
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部