各位好!
在工作中肯定有不少朋友接触过类似下面这种表格,尤其是体制内的朋友,需要统计每一户家庭的总人口数,如下图:
数量多的话手工计算显然是很费时费力的。
永恒君发现了一个很好用的公式,这里推荐给需要的朋友使用。
以上图为例子,在E2单元格里面输入下面的函数公式,回车,再往下拖动,即可快速统计出结果。
=IF(D2="户主",COUNTA(B2:B23)-SUM(E3:E23),"")
是不是很赞?
到底为什么会这样呢?为了便于大家理解,永恒君来试着解析一下。
这个需要从后面往前面解释比较容易理解。
第四户人数统计结果为1,是这样来的:COUNTA函数统计了第13行之后的所有人数为1,由于后面行没有人了,所以SUM得到的结果也就是0,进而COUNTA-SUM就变成了这一户的总人数1,D13为户主,故该户家庭人口为1;
再看统计第三户人数,随着公式下拉,公式中的区域发生变化,COUNTA统计的是第三、四户的总人数,应该是3人,由于非户主所对应的都是0,所以SUM得到的是第四户对应的人数1,这样第三户的人数就是3-1=2。
同理,第一、二户的家庭人口数也是这样倒推出来的。
当然注意,公式中的B23、E23需要根据你的实际数据来适当修改,大于数据行数即可。
这么说吧,COUNTA中的范围是实际数据范围,即当前包含当期家庭以及之后家庭人数的总和,而SUM中的范围是公式所在单元格下方的范围,即当前家庭之后家庭人数的总和。
有点绕,这个公式比较难理解的正是这种倒推计算的思路。
还是看不懂?没关系,直接用下面这个vba一键搞定。
就是要这么暴力直接!!!
END
你可能还会想看:
欢迎交流!
网友评论