excel多条件不重复数据

时间:2024-06-07 20:15:50 宇涛 科普知识 我要投稿
  • 相关推荐

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