count 家族的函数已经写过不少,今天讲一下 counta,它看似平淡无奇,但函数界有句古话(本人自创):没有平庸的函数,只有平庸的函数使用者。
那就来看看 counta 函数的“野百合也有春天”。
语法:
COUNTA(value1,value2,...)
释义:
计算区域中非空单元格的个数
Value1, value2, ... 为所要计算的值
案例:
下表是保险公司的保单列表,每一份保单有投保人和数量不等的受益人,如何快速统计出每份保单涉及的总人数?
解决方案:
1. 在 C2 单元格输入以下公式,向下拖动即可:
=IF(B2="投保人",COUNTA(A2:A$15)-SUM(C3:C$15),"")
公式释义:
1. 这个用法略微需要一点想象力,需要按表格从下往上计算,我们先来看最后一张保单,即 C12 单元格的公式:
=IF(B12="投保人",COUNTA(A12:A$15)-SUM(C13:C$15),"")
IF(B12="投保人",...,“”):当 B 列值为“投保人”时,表示自这一行开始是个新保单,需要开始计算,否则就返回空值
SUM(C13:C$15):对当前行以下的所有行求和,因为下面没有值,所以结果为 0
COUNTA(A12:A$15):统计 A 列当前行至末行的数量,即保单涉及的人员总数 4,减去 0 就得到最终结果 4
2. 此时我们向上看 C9 单元格,即“王五”家庭的计算,
唯一有点区别的是:由于 C12 单元格已经结算得出结果为 4,所以 sum 的结果就不是 0,而是 4
COUNTA 减去 SUM 的结果就得到 3,扣除了“丁六”家庭的人数,实现只统计“王五”家庭人数的目的
3. 依次往上类推,实现案例要求
* 请注意:因为本例的计算是从下往上的,所以在拖动公式的时候一定要把需要计算的区域全都覆盖,否则会导致所有结果错误。
领取专属 10元无门槛券
私享最新 技术干货