利用Excek函数和倒减法实现不规律统计

举个例子:下图所示的表格中A列记录了公司每天加班的人数,要求在B列中,若连续加班人数超过3人的,每段最后一格记录此段的小计天数 。
问题在于,A列中出现连续加班天数超过3人的,根本无规律可言 。因此在B列中进行自动统计,如何构造公式就成了难点 。常用的函数COUNTIF虽然是计数能手,但在无规律的数据面前,它也傻了;而LOOKUP函数虽然也够强大,但靠它来完成任务,你也得出一身冷汗 。看来还得自力更生,巧妙地构造一个公式来解决 。
为此,我们只需将光标定位到B2单元格,然后在公式框中输入如下公式:
=IF(OR(A2<=3,A3>3),"",COUNTIF(A$2:A2,">3")-SUM(B$1:B1))
公式输入之后,拖动B2右下角的填充柄,填充到B列的最后单元格,这样,符合条件的天数就自动统计并填写好了 。
为便于理解,下面对公式进行一些说明:
【IF(OR(A2<=3,A3>3),""】段:如果A列当前行<=3或下一行大于3,则公式返回空,B列当前单元格什么也不填写 。
【COUNTIF(A$2:A2,">3")-SUM(B$1:B2)】段:利用COUNTIF函数统计A列当前行以前共有多少个大于3的数字,然后减去B列已有结果,就得出最近一段中符合条件的天数 。这里一定要注意所引导的区域的引用方式,要使用$符号 。
不怕没规律,就怕没有好公式 。一个好公式可以解决大问题 。
【利用Excek函数和倒减法实现不规律统计】这里我只是抛出一砖,是否可以引来美玉,就看你具体如何去应用了 。这个方法适用面很广哦!

    推荐阅读