我们都知道当数据过多的时候,我们制作Excel图表就会显得非常的复杂,图表上面的内容就会特别多。Excel老玩家就会想到用切片器制作动态可变化的图表来显示。今天我们就来学习一下一个比......
2023-01-08
有一个数据表如右图所示,要求统计A2:A11单元格区域中不重复记录的个数。
方法1:
使用COUNTIF函数创建数组公式:
{=SUM(1/COUNTIF(A2:A11,A2:A11))}
思路解析:
使用条件统计函数COUNTIF返回区域内每个记录出现次数的数组,被1除后在对得到的商求和。假设记录X出现N次,则每次都转为N/1,N个1/N求和得到1。
这是一个统计不重复值的经典算法,起特点如小。
(1)统计区域内不得有空单元格,否则返回#DIV/0!错误。可以用下面的数组公式解决这个问题:
{=SUM(IF(A2:A11<>"",1/COUNTIF(A2:A11,A2:A11))}
(2)因为EXCEL浮点运算可能产生误差而造成答案不正确,即公式返回值比正确值小。对于这种情况,可以用嵌套ROUND函数修正。
(3)对数据类型没有要求,文本,数值,逻辑值,错误值均可。
(4)统计区域不限于单行或单列(即一维引用),可以是A1:C10这样的矩形区域,但必须是对单元格区域的引用,而不能是非引用类型的数组。
方法2:
使用FREQUENCY函数法创建数组公式:
{=SUM(IF(FREQUENCY(A2:A11,A2:A11)>0,1))}
此公式可以简化为
{=SUM(–(FREQUENCY(A2:A11,A2:A11)>0))}
思路解析:使用FREQUENCY函数返回统计区域的分部频率数组中,在记录第一次出现的对应位置是该记录出现的总次数,第二次出现的位置则为0。
此方法特点如下:
(1)统计区域可以有空单元格。因为该函数将忽略空白单元格和文本。
(2)没有浮点运算误差。
(3)参数只能为数值,如果是一维的"文本"数据,可以借助MATCH函数转换为行,序列号数值再进行统计。
(4)参数不受引用或数组的尺寸范围限制,可以支持多行多列的"数值"数据的不重复统计。
方法3:
使用MATCH=ROW比较法创建数组公式:
{=SUM(IF(MATCH(A2:A11,A2:A11,)=ROW(2:11)-1,1))}
此公式可以简化为:
{=SUM(–(MATCH(A2:A11,A2:A11,)=ROW(2:11)-1))}
思路解析:
使用MATCH函数返回区域内每个记录第一次出现的位置,并与ROW函数返回的记录所在对应行号减去首条记录行号得到的1~m(记录总个数)的数组比较,即第一次出现就算1次,其他记录忽略。
此方法的特点如下:
(1)统计区域内不得有空单元格,否则MATCH函数返回#N/A错误。对于所包含的空单元格,可以用文本合并进行相应的处理,如{=SUM((A2:A11<>"")*(MATCH(A2:A11&"",A2:A11&"",0)=ROW(2:11)-1))}。
(2)不会有浮点运算误差。
(3)数据类型可以是文本,数值,逻辑值,但不得包含错误值。
(4)仅限于一维区域引用或一维数组。
相关文章
我们都知道当数据过多的时候,我们制作Excel图表就会显得非常的复杂,图表上面的内容就会特别多。Excel老玩家就会想到用切片器制作动态可变化的图表来显示。今天我们就来学习一下一个比......
2023-01-08
在工作中,可能许多朋友都会碰到一个情况,那就是工作簿和工作表数据的合并操作。如何将上百个工作簿快速合并到一个表格中,许多朋友可能会觉得不可思议。今天我们就来教大家学习一......
2023-01-08
今天在这里为你分享5个Excel文本函数,这些拆分和组合函数,你一定会用上的。①LEFT函数公式:=LEFT(A2,1)在Excel表格中,需要想要拆分汉字,想从哪里开始就从那哪里开始。首先选定单元格......
2023-01-08
相信大家也和我一样,才开始看到Excel可以当做翻译软件的时候会很好奇,这究竟是怎样做到的?其实,这个方法并不是很难,它是由一个函数公式而制作出来的,好了,首先我们一起来看看成......
2023-01-08
函数可以说是所用快捷方法中最为简单的一种方法,为什么很多人认为函数用起来很难了?主要是因为它拥有很长的函数公式,记不住。其实不管是学Excel函数,还是学习其他的一些快捷方法......
2023-01-08