在合并单元格中计算每户人数(新方法)
同学们,大家好。昨天有个新同学刚关注了我的公号,就来问我怎么统计每户的家庭人数,然后她给我发了一张表格的截图,我一看到表格的结构,就大概知道怎么做了。因为这个问题在之前的文章《在合并单元格中计算每户人数》中说过。我就让她去找公号文章,她说找了,没有找到,后来我就发给她了。在这里也提醒大家可以用微信的搜索功能来搜索文章。
今天为什么还要重写一下这个问题呢?因为在她向我请教的时候,我也得到了一些反馈,发现了一些问题,就拿出来说说。而且巧的是,我最近刚学了一种新方法来统计合并单元格的个数,就与大家分享一下。
今天的数据源和之前的文章是一样的,只是被我删除了几行,因为截图太大了。AB两列是数据源,C列是统计后的结果。
在说今天的新方法之前,先来说说之前文章的2种方法,一个是错位相减法,公式为=COUNTA(B2:B$16)-SUM(F3:F$16),见文件F列。用这个公式的时候,一定要把所有要统计人数的合并单元格区域选起来,然后再输入公式,按ctrl+enter结束。不要只选一部分单元格填充公式,这样会出错的。因为这个公式上一个合并单元格的结果会依赖于下一个合并单元格的结果,它们是相关的,有连锁反应。还有公式的最后一个单元格的行号可以固定一下,加个$符号。
另一个是frequency法,公式为=INDEX(FREQUENCY(-ROW($2:$16),-(B$2:B$16="户主")*ROW($2:$16)),ROW(A1)),见文件的G列。之前这个公式为=INDEX(FREQUENCY(-ROW($2:$16),-(B$2:B$16="户主")*ROW($2:$16)),ROW()-1)。这2个公式只是index的第2参数不同。由于每个人的表格结构不同,所以还是将ROW()-1改为ROW(A1)比较合理。
以上2个问题,就是我在提问与回答中发现的,所以反馈还是很重要的。
下面说一下我最近新学到的合并单元格计数的方法,这个方法的神奇之处,就是不需要引用其他列,只需要引用它自身的列就可以完成。比如,合并单元格在C列,只需引用C列的区域就能在合并单元格中计数。而之前的2个公式要么引用A列,要么引用B列。
看下它的公式,选中C2:C16,确保活动单元格在C2,以白色显示,其他区域为灰色,然后输入公式=MATCH(1,FREQUENCY(1,N(C3:C$16>0)),),按ctrl+enter结束。
这个公式用的是动态区域,而且最下面的单元格C16要用$固定一下。大家要理解这个公式,最好从最下面的合并单元格查看公式以及运行的过程,然后再看上一个合并单元格的公式,包括它的区域变化和运行过程。由于不好讲解,所以我就不说明了。大家自行按F9查看公式进行理解。这个公式最为巧妙的地方,就是最后一个合并单元格中,frequency的结果会在最后一个元素中返回1,这样能确保最后一个合并单元格计数准确。
链接:
https://pan.baidu.com/s/1Yvblp7a0PwbNF5LQcupx6A
提取码:dl0h