例如,在下表中,A列记录了公司每天的加班人数。要求在B栏中,连续加班超过三次的,每段小计天数应记录在每段最后一栏。
问题在于,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列已有结果,就得出最近一段中符合条件的天数。这里一定要注意所引导的区域的引用方式,要使用$符号。
不怕没规律,就怕没有好公式。一个好公式可以解决大问题。电脑教程