Google Sheets日期复杂逻辑公式:多条件成员计数需求
Google Sheets 多条件计数问题(含去世日期判断)
问题背景
我有一个Google表格,包含四列数据和一个参考日期(单元格B1),需要统计同时满足以下三个条件的人员数量:
- 是会员(B列值为
TRUE) - 在B1日期时年龄小于16岁
- 未在B1日期前去世(D列去世日期为空,或去世日期晚于B1)
已经写出了前两个条件的COUNTIFS公式:
=COUNTIFS(B3:B, TRUE, C3:C, "<"&DATE(YEAR(B1)-16, MONTH(B1), DAY(B1)))
但始终无法正确编写第三个条件的公式,求完整的正确写法。
解决方案
方式1:拆分条件的COUNTIFS组合
因为COUNTIFS本身不支持同一列的OR逻辑,我们可以把“D列为空”和“D列日期晚于B1”拆成两个独立的COUNTIFS,结果相加:
=COUNTIFS(B3:B, TRUE, C3:C, "<"&DATE(YEAR(B1)-16, MONTH(B1), DAY(B1)), D3:D, "") + COUNTIFS(B3:B, TRUE, C3:C, "<"&DATE(YEAR(B1)-16, MONTH(B1), DAY(B1)), D3:D, ">"&B1)
方式2:用SUMPRODUCT简化逻辑
SUMPRODUCT可以直接处理复杂的多条件逻辑,写法更紧凑:
=SUMPRODUCT( --(B3:B=TRUE), --(C3:C<DATE(YEAR(B1)-16, MONTH(B1), DAY(B1))), --(ISBLANK(D3:D)+(D3:D>B1)>0) )
--(条件)是把布尔值(TRUE/FALSE)转换成1/0,方便SUMPRODUCT求和ISBLANK(D3:D)+(D3:D>B1)>0实现了“D列为空 或 去世日期晚于B1”的OR逻辑,只要满足其中一个就会被计数
内容的提问来源于stack exchange,提问作者user1132149
相关产品推荐
相关产品推荐

