微信公众号:yhjbox(永恒君的百宝箱),获取最新文章、资源。

这个统计家庭人口的公式有点厉害了~~~

Excel VBA 实例 永恒君 1496℃ 0评论
各位好!在工作中肯定有不少朋友接触过类似下面这种表格,尤其是体制内的朋友,需要统计每一户家庭的总人口数,如下图:图片
数量多的话手工计算显然是很费时费力的。永恒君发现了一个很好用的公式,这里推荐给需要的朋友使用。以上图为例子,在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一键搞定。

图片

图片就是要这么暴力直接!!!
你可能还会想看:
VBA 实例(37) – Excel VBA实例(37) - 快速提取手机号及归属地
VBA 实例(36) –  一键提取网页中的表格数据
VBA 实例(35) –  一键批量ppt转pdf
VBA 实例(34) – 快速匹配出名称不完全相同的数据
VBA 实例(33) – 一键提取word中加粗文字
VBA 实例(32) - 批量替换隐藏的神秘字符
VBA 实例(31) - 为VBA代码自定义快捷键

转载请注明:永恒君的百宝箱 » 这个统计家庭人口的公式有点厉害了~~~

喜欢 (4)
发表我的评论
取消评论
表情