http://www.pptjcw.com

excel怎么做表格:COUNTIF的两种高能用法

    提取不重复名单

    如下图所示,要提取C列不重复的名单。
    曾经的高能公式为:

    =INDEX(C:C,1+MATCH(,COUNTIF(E$1:E1,C$2:C$15),))&""

    注意是数组公式,编辑完成后,要按Ctrl+Shift+回车。

    excel怎么做表格:COUNTIF的两种高能用法

    首先利用COUNTIF函数,在公式所在位置上方的单元格区域中,分别查找C$2:C$15单元格区域每个数据的个数。返回一个由0和1构成的数组,如果C$2:C$15单元格区域的元素在公式上方出现过,结果就是1;如果没出现,结果就是0。

    本例中,COUNTIF函数的第一参数是一个扩展的区域,前面公式提取的结果会被后面的公式重复利用进行判断。
    再利用MATCH函数,在COUNTIF函数返回的数组中查找第一个0的位置,也就是查找首次出现的数据所在的位置。
    由于数据表的标题行占了1行,将这个数字加1,就是需要提取的不重复数据在数据表中列的位置。
    接下来利用INDEX函数,以MATCH函数的计算结果作为索引值,提取C列对应位置上的数据。

    如果你使用的是Excel 2021,就可以一脚踢飞COUNTIF,下面这个公式更简单:

    =UNIQUE(C2:C14)

    计算不重复人数

    如下图所示,要计算C列不重复的人数。
    曾经的高能公式为:

    =SUMPRODUCT(1/COUNTIF(A2:A14,A2:A14))

    excel怎么做表格:COUNTIF的两种高能用法

    这个公式中包含了一个简单的数学逻辑:
    任意一个数据重复出现N次,N个1/N的和值为1。
    公式中“COUNTIF(A2:A14,A2:A14)”部分是数组计算,作用是分别统计A2:A14单元格区域中每个元素出现的次数。
    运算过程相当于:
    =COUNTIF(A2:A14,A2)
    =COUNTIF(A2:A14,A3)
    ……
    =COUNTIF(A2:A14,A14)

    返回内存数组结果为:
    {2;2;2;2;2;2;2;2;2;2;1;1;1}

    再使用1除以返回的内存数组,得到以下结果:
    {0.5;0.5;0.5……;1;1;1}

    用1除,即相当于计算COUNTIF函数所返回内存数组的倒数。

    为便于理解,把这一步的结果中的小数部分使用分数代替,结果为:
    {1/2;1/2;1/2;1/2;……;1;1;1}
    如果单元格的值在区域中是唯一值,这一步的结果是1。
    如果重复出现两次,这一步的结果就有两个1/2。
    如果单元格的值在区域中重复出现3次,结果就有3个1/3…
    即每个元素对应的倒数合计起来结果仍是1。
    最后用SUMPRODUCT函数求和,得出不重复的人员总数。

    如果你使用的是Excel 2021,就可以一掌拍死COUNTIF,下面这个公式更简单:

    =COUNTA(UNIQUE(A2:A12))

    先使用UNIQUE提取出A列的不重复名单,然后用COUNTA计算个数。

    提示:如果您觉得本文不错,请点击分享给您的好友!谢谢

    上一篇:excel表格制作教程:VLOOKUP拉住MATCH的手 下一篇:excel表格教程:混在一起的姓名,这些拆分方法你会几种?

    郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。