=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 实例(35) – 一键批量ppt转pdf
VBA 实例(34) – 快速匹配出名称不完全相同的数据
VBA 实例(33) – 一键提取word中加粗文字
VBA 实例(32) - 批量替换隐藏的神秘字符
VBA 实例(31) - 为VBA代码自定义快捷键
转载请注明:永恒君的百宝箱 » 这个统计家庭人口的公式有点厉害了~~~