现在公司财务部门有如下需求,需要统计各个分店的发卡数量,并且标记出来排名前30%的分店(如下图所示)。

经过一个多小时的测试,写出一个比较合适的公式。
=IF(RANK(H3,H$3:H$14)>=INT(COUNT(H$3:H$14)*0.3),"","是")思路如下:
1、先取Excel行数(知道总行数,才好算30%是多少)
用COUNT函数来取总行数:=COUNT(H$3:H$14)
注意:如果中间有空白行,也会算做一行(空行会影响前30%的取值)2、取总行数的30%(向下取整)
直接总行数乘以0.3来取30%,使用IINT函数向下取整
=INT(COUNT(H$3:H$14)*0.3)
注意:向下取整的话3.1取整为3、3.9取整也为33、取多行数据的前3为数,并做标记
使用RANK函数来返回一列数字的排位(数字的排位是其相对于列表中其他值的大小)
使用IF函数来对排位大于等于前3的行做标记
=IF(RANK(H3,H$3:H$14)>=3,"","是")4、以上相结合得出解决公式:
=IF(RANK(H3,H$3:H$14)>INT(COUNT(H$3:H$14)*0.3),"","是")好了,文章到此结束。
本文采用 知识共享署名4.0 国际许可协议进行许可。
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。
如果您的问题未解决,欢迎微信扫描右侧二维码与我联系。