- 相关推荐
excel多条件不重复数据
excel表格是我们工作时常会用到的,那么关于excel多条件不重复数据你又清楚操作吗,以下是pincai小编搜集并整理的有关内容,希望在阅读之余对大家能有所帮助!
excel多条件不重复数据
→ 解决方案1:
使用1/COUNTIF与SUM函数组合统计不重复数据个数。
→ 操作方法
在C2单元格输入以下2个公式之一:
公式1 {=SUM(1/COUNTIF(A2:A16,A2:A16))}
公式2 =SUMPRODUCT(1/COUNTIF(A2:A16,A2:A16))
→ 原理分析
1.使用COUNTIF函数进行条件统计,返回A2:A16单元格区域内每个数据出现次数的数组:
{2;2;1;3;2;1;3;2;1;1;2;1;1;2;3}
被1除后,生成数组:
{1/2;1/2;1;1/3;1/2;1;1/3;1/2;1;1;1/2;1;1;1/2;1/3}
即出现N次重复的,就变成N个1/N,求和就是1,达到重复值只算1次的目的。
2.最后使用SUM或SUMPRODUCT函数求和即可得到区域内不重复值的个数。
→ 知识扩展
1/COUNTIF函数统计不重复值的优缺点
1.统计区域内不得有空单元格,否则返回#DIV/0!错误。可以使用嵌套IF函数的数组公式解决这个问题,公式如下:
{=SUM(IF(A2:A16<>"",1/COUNTIF(A2:A16,A2:A16)))}
2.因为EXCEL浮点运算可能产生误差而造成答案不正确,即公式返回值比正确值小。对于这种情况,可以用嵌套ROUND函数修正。
3.COUNTIF函数对数据类型没有要求,文本、数值、逻辑值、错误值均可,每一种错误值算作一个不重复数据。
4.统计区域不限于单行或单列(即一维引用),可以是多行多列的矩形区域,但必须是对单元格区域的引用,而不能是非引用类型的数组。
→ 解决方案2:
使用MATCH=ROW比较判断统计不重复数据个数。
操作方法
在C2单元格输入下列2个公式之一:
公式1 {=SUM(--(MATCH(A2:A16,A2:A16,)=ROW(2:16)-1))}
公式2 =SUMPRODUCT(--(MATCH(A2:A16,A2:A16,)=ROW(2:16)-1))
→ 原理分析
1.使用MATCH函数返回区域内每个数据第一次出现的位置数组:
{1;2;3;4;1;6;4;8;9;10;8;12;13;2;4}
2.然后与其对应的行号位置比较,因为只有第一次出现的位置才会一致,所以统计的是不重复个数。
3.使用减负运算将判断结果返回的逻辑值转换为1、0,最后使用SUM或SUMPRODUCT求和即可得出不重复数据的个数。
→ 知识扩展
MATCH=ROW法统计不重复值的优缺点
1.统计区域内不得有空单元格,否则MATCH函数返回#N/A错误。对于包含空单元格的区域,可以用文本合并进行相应的处理,公式如下:
=SUMPRODUCT((A2:A16<>"")*(MATCH(A2:A16&"",A2:A16&"",0)=ROW(2:16)-1))
其中,(A2:A16<>"")用于防止将空单元格&""后算作一个空文本数据。
2.不会有浮点运算误差。
3.数据类型可以是文本、数值、逻辑值,但不得包含错误值。
4.数据可以是内存数组,也可以是单元格区域的引用,但必须是单行或单列。
→ 解决方案3:
使用FREQUENCY函数统计不重复数字个数。
→ 操作方法
在C2单元格输入下列2个公式之一:
公式1 =COUNT(1/FREQUENCY(A2:A16,A2:A16))
公式2 =SUM(--(FREQUENCY(A2:A16,A2:A16)>0))
→ 原理分析
1.使用FREQUENCY函数返回统计区域内数字的分布频率数组:
{2;2;1;3;0;1;0;2;1;1;0;1;1;0;0;0}
由此可见,第一次出现的数字位置返回数字出现个数,而第2次出现就返回0,因此只要统计非0的个数即可。
2.公式1使用1/FREQUENCY将0转换为#DIV/0!错误值,再利用COUNT函数忽略错误值的特性统计数组中非0数字的个数,公式2使用--(FREQUENCY>0)将数组大于0判断得到的逻辑值转换为数值1、0,再使用SUM函数求和,由此实现统计不重复数据个数。
3.由于FREQUENCY函数默认返回数组,COUNT、SUM函数均将其视为常量数组代入计算,因而无需按组合键形成数组公式。
→ 知识扩展
FREQUENCY函数统计不重复值的优缺点
1.统计区域可以有空单元格。因为FREQUENCY函数将忽略空白单元格和文本。
2.使用公式2没有浮点运算误差。
3.数据必须为数值,如果是一维的文本数据,可以借助MATCH函数转换为序列号数值再进行统计。
4.参数不受引用或数组的尺寸范围限制,可以支持多行多列的数值数据的不重复统计。
数据去重必学函数UNIQUE函数介绍
功能:UNIQUE函数可以去除重复值保留唯一值
语法:=UNIQUE(数组,[按列],[仅出现一次])
第1参数:数组就是返回唯一值的数组数据区域;
第2参数:按列是可选参数,指定比较的方式,设置为TRUE将比较列并返回唯一值,设置为FALSE (或省略) 将比较行并返回唯一值;
第3参数:[仅出现一次]可选参数,一般直接省略即可。
备注:FILTER函数需更新至WPS Office最新版本使用
基本用法:
在目标单元格中输入公式:
=UNIQUE(A1:A8)
然后点击回车,即可
解读:
公式中A1:A8就是要去重的数据区域;省略了第二参数默认按行去重并返回唯一值;省略的三参数默认是FALSE返回唯一选项。
当然如果是去重数据是按行横向排列的话,就必须把第二参数设置为TRUE,就是按列去重。
在目标单元格中输入公式:
=UNIQUE(B2:I2,TRUE)
高级用法一:计数不重复人数
在目标单元格中输入公式:
=COUNTA(UNIQUE(A2:A8))
然后点击回车即可
当然如果想计算重复的人数,可以使用姓名总数减去唯一值的个数即可
公式:=COUNTA(A2:A8)-COUNTA(UNIQUE(A2:A8))
高级用法二:动态提取不重复数据
在目标单元格中输入公式:
=DROP(UNIQUE(A:A),-1,0)
然后点击回车即可,如果参会名单变动,提取的不重复数据也会自动更新。
解读:
①上面公式使用DROP函数和UNIQUE函数组合,主要是为了实现根据参会人员变动,达到动态提取不重复数据的效果。
②首先使用UNIQUE(A:A)函数提取A列参会人员名称中不重复的数据,因为选择的是这列数据,使用UNIQUE函数后会在结果下方多出一个数字0。出现这种情况的原因是UNIQUE函数在对A列最底部的空白单元格去重时,会默显示数字0。
③最后再使用DROP函数去掉去重数据的最后一行数据0,第2参数-1就是从下往上删除一行;第3个参数为0,表示删除0列,这样就最终得到我们想要的去重的结果了。
高级用法三:按条件提取不重复数据
在目标单元格中输入公式:
=UNIQUE(FILTER(B2:B9,A2:A9=E2,"无数据"))
然后点击回车即可
解读:
1、公式中首先通过FILTER函数,按条件筛选出指定门店的值班经理名单,然后再通过UNIQUE函数提取出不重复的名单数据即可。
2、上面实例中是按单个条件提取不重复数据,我们也可以进行多条件提取不重复数据,只需正确设置FILTER函数第2个参数即可
①如果需要多个条件同时满足,就用*把多个条件连接
条件1*条件2*条件N
例如:(A2:A9=E2)*(C2:C9=D2)
②如果需要多个条件满足任意一个,就用+把多个条件连接
条件1+条件2+条件N
例如:(A2:A9=E2)+(C2:C9=D2)
【excel多条件不重复数据】相关文章:
excel函数怎么条件筛选06-24
excel自动筛选多个条件06-24
精选Excel建立数据库技巧06-23
Excel数据库函数介绍06-24
Excel数据库函数简介06-24
Excel 2007的数据分析介绍07-10
Excel制表技巧 数据分析07-10
EXCEL数据分析加载项07-10
巧用Excel图表展现分析数据07-10