当前位置:首页 > 办公设计 > Office教程 > COUNTIF函数的几个高能用法

COUNTIF函数的几个高能用法

4周前 (05-24)Office教程190

一、不一样的序号

如下图所示,要在A列按部门输入序号,不同部门的序号从1开始。

在A2单元格输入公式,向下复制:
=COUNTIF(B$2:B2,B2)
COUNTIF函数的统计区域是B$2:B2,第一个B2是行绝对引用,第二个B2,是相对引用。当公式向下复制时,就会变成B$2:B3、B$2:B4……一个不断扩展的区域,从这个动态区域中统计B列部门的个数。

 

二、计算不重复的人数

如下图所示,要计算C列不重复的人数。
公式为:
=SUMPRODUCT(1/COUNTIF(A2:A14,A2:A14))

这是一个十分常用的统计不重复数据个数的公式,其中包含了一个简单的数学逻辑:
任意一个数据重复出现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函数求和,得出不重复的人员总数。

 

三、提取不重复名单

如下图所示,要提取C列不重复的名单。
公式为:
=INDEX(C:C,1+MATCH(0,COUNTIF(E$1:E1,C$2:C$15),0))&””
注意是数组公式,编辑完成后,要按Ctrl+Shift+回车。

首先利用COUNTIF函数,在公式所在位置上方的单元格区域中,分别查找C$2:C$15单元格区域每个数据的个数。返回一个由0和1构成的数组,如果C$2:C$15单元格区域的元素在公式上方出现过,结果就是1;如果没出现,结果就是0。
和第一个例子里一样,COUNTIF函数的第一参数是一个扩展的区域,公式的提取结果会被重复利用。
再利用MATCH函数,在COUNTIF函数返回的数组中查找第一个0的位置,也就是查找首次出现的数据所在的位置。
由于数据表的标题行占了1行,将这个数字加1,就是需要提取的不重复数据在数据表中列的位置。
再利用INDEX函数,以MATCH函数的计算结果作为索引值,提取C列对应位置上的数据。
这个函数从最后开始往上看,比较容易理解一些哦。

扫描二维码推送至手机访问。

欢迎转载或分享本篇文章。

本文链接:https://www.jcba123.com/article/1482

分享给朋友:

“COUNTIF函数的几个高能用法” 的相关文章

Excel制作可自动更新的下拉菜单,80%的人都不知道!

Excel制作可自动更新的下拉菜单,80%的人都不知道!

Excel下拉菜单可以帮助我们提升工作效率,实现快速录入功能。但许多人只知其一不知其二,下拉菜单也分很多种做法,哪一种最佳?今天,易老师就来给大家分享一下可自动更新的下拉菜单的制作。     大多数人是这样做下拉菜单的 选择需要添加下拉菜单的所有单元格,进入...

想提高办公效率?那么这几个Excel小技巧你必须掌握!

想提高办公效率?那么这几个Excel小技巧你必须掌握!

想熟练的掌握Excel?想提高办公效率?那么,今天给大伙分享的这些Excel表格中的小技巧你可千万别错过了哦!几乎每天你都能用得上。     Excel双击填充 表格中的向下填充功能,使用频率非常高,而且非常方便。但如果数据太多,你向下拖拽鼠标的时候,也比较...

Excel中数据带有单位应该如何公式运算求和?

Excel中数据带有单位应该如何公式运算求和?

新来的同事不太会用Excel,我让他帮我录入一些数据,结果他把数据单位也一同手动录入进去了。手动录入数据的单位,其实是一种不正确的做法,这样会导致我们无法通过这些单元格数据进行公式运算。面对此情况,我们应该如何进行公式运算求和呢?别担心,小汪老师来给大家分享几种不错的方法,就算有单位,也难不住我们...

Excel算年龄,这些公式会不会?

Excel算年龄,这些公式会不会?

如下图所示,希望根据B列的出生日期和C列的统计截至日期,来计算两个日期之间的间隔,希望得到的结果是xx年xx个月xx天的形式。 要计算两个日期之间的间隔,那就非DATEDIF函数莫属了。这个函数的写法为: =DATEDIF(开始日期,结束日期,返回的间隔类型) 第1参数和第2参数,可以引...

Microsoft Excel 教程,如何在 Excel 图表中添加趋势线?

Microsoft Excel 教程,如何在 Excel 图表中添加趋势线?

欢迎观看 Microsoft Excel 教程,小编带大家学习 Microsoft Excel 的使用技巧,了解如何在 Excel 图表中添加趋势线。 向图表添加趋势线,选择图表,选择「图表设计」选项卡,然后单击「添加图表元素」。 选择「趋势线」-「线性」。注意: E...

将多列的区域或数组合并成一列,就用TOCOL函数

将多列的区域或数组合并成一列,就用TOCOL函数

今天分享TOCOL函数的几个典型应用。 这个函数目前可以在Excel 365和最新的WPS表格中使用,作用是将多列的区域或数组转换为单列。函数用法为: =TOCOL(要转换的数组或引用, [是否忽略指定类型的值], [按行/列扫描]) 其中第二参数为0或者省略该参数时,表示保留所有值。为1表示忽略空...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。