举个例子:下图所示的表格中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函数和倒减法实现不规律统计】这里我只是抛出一砖,是否可以引来美玉,就看你具体如何去应用了 。这个方法适用面很广哦!
推荐阅读
- Excel间接引用单元格的内容的INDIRECT函数使用教程
- Excel函数之指定位数向上舍入的ROUNDUP函数使用教程
- Excel指定位置的单元格引用的OFFSET函数使用基础教程
- Excel VLOOKUP函数返回错误值#N/A的两种解决方法
- Excel中最神秘的统计函数,Frequency函数的使用基础教程
- Excel函数之求商整数部分的QUOTIENT函数
- Excel2013函数教程:edate函数详解
- Excel函数对表示条件的参数的逻辑值求反的NOT函数
- excel函数多层嵌套案例:if嵌套学习实例教程
- Excel函数之计算列数的COLUMNS函数使用教程