COUNTIF函数在文本排序中的应用
我们知道,COUNTIF函数通常用于查找指定单元格区域中满足条件的单元格数量。然而,COUNTIF函数有一个比较有用的用法,它可以统计指定区域中大于或小于指定值的单元格数量。例如,公式:
COUNTIF({a,b,c,d,e,f,g,h},”<c”)
返回值2,表示数组中比c小的字母有2个,那么如果由小到大排的话,c应该排在第3位。
因此,使用COUNTIF函数,我们可以找到单元格区域中任意单元格中值的顺序。当我们知道这些顺序后,就可以使用VLOOKUP函数来查找对应的单元格中的值,从而实现按顺序对这些单元格中的值排序。
简单地说,使用COUNTIF函数,我们可以对单元格区域中的文本排序。
如下所示,在单元格B6中,使用公式:
=COUNTIF($C$6:$C$15,”<=”&C6)
得到单元格C6中的文本在单元格区域C6:C15的文本中,由小到大排在第10位。
将公式下拉至单元格B15,得到相应的列C中文本在单元格区域C6:C15中文本的排序位置。
在单元格E6中的公式为:
=VLOOKUP(ROW()-ROW($E$5),$B$6:$C$15,2,FALSE)
其中,ROW()-ROW($E$5)的值为1,即查找单元格区域B6:C15中列B中的值为1对应的列C中单元格的值,也就是单元格区域C6:C15中最小的文本。
将该公式向下拉至单元格E15,得到排序好的文本。当将公式向下拉时,随着行的变化,ROW()-ROW($E$5)的值也不断变化,从而取得相应的值。
注意,如果担心“顺序号”列中有重复值,可以使用公式:
=VLOOKUP(SMALL($B$6:$B$15,ROW()-ROW($E$5)),$B$6:$C$15,2,FALSE)
上面的列B实际上是我们使用的辅助列,这样使整个运算过程更清楚。其实,可以不使用辅助列,直接使用一个数组公式。在单元格E6中输入数组公式:
=VLOOKUP(ROW()-ROW($E$5),CHOOSE({1,2},COUNTIF($C$6:$C$15,”<=”& $C$6:$C$15),$C$6:$C$15),2,0)
下拉至单元格E15,得到同样的结果。
最新推荐
-
Win11定位服务怎么关闭 win11关闭定位服务
Win11定位服务怎么关闭?在使用win11系统的过程中,通过定位服务,用户可以获得更精准的位置信息,可以 […]
-
printspooler服务怎么开启win11 如何启动print spooler服务
printspooler服务怎么开启win11?print spooler服务是关联打印机的系统服务项,实 […]
-
win11定位服务怎么打开 win11定位服务被禁用了
win11定位服务怎么打开?在使用win11系统的过程中,通过定位服务,可以获得更精准的位置信息,可以方便 […]
-
mac磁盘分区怎么分 mac给硬盘分区
mac磁盘分区怎么分?在日常使用电脑的过程中,通过对电脑进行分区规划,可以方便用户查找储存对应的文件数据, […]
-
win7打印机服务怎么开启 开启printspooler服务的步骤
win7打印机服务怎么开启?Print Spooler是打印后台处理服务,如果此服务被禁用,任何依赖于它的 […]
-
windows7怎样设置禁止随便安装软件 win7设置禁止安装软件
windows7怎样设置禁止随便安装软件?很多用户都会在电脑上进行第三方软件应用的安装,但是也带来了不安全 […]
热门文章
Win11定位服务怎么关闭 win11关闭定位服务
2printspooler服务怎么开启win11 如何启动print spooler服务
3win11定位服务怎么打开 win11定位服务被禁用了
4mac磁盘分区怎么分 mac给硬盘分区
5win7打印机服务怎么开启 开启printspooler服务的步骤
6windows7怎样设置禁止随便安装软件 win7设置禁止安装软件
7win7如何设置局域网工作机组 win7局域网共享设置工作组
8win7如何添加自带游戏 win7自带游戏怎么恢复
9win11用户账户控制怎么取消 win11关闭uac方法
10win10怎么查看网口是百兆千兆还是千兆 电脑网口是百兆还是千兆
随机推荐
专题工具排名 更多+