如何基于A列唯一值,按B、C列条件统计C列匹配值数量?
问题解决:基于A列唯一值统计多列匹配数量
需求:基于A列的唯一值,统计同时满足B列和C列指定条件的记录数,且不能使用辅助列。
现有公式局限
当前公式仅能筛选A列唯一值对应的B列数据,无法加入C列的条件判断:
=COUNTIF(FILTER(B1:B,COUNTIFS(A1:A,A1:A,ROW(A1:A),"<="&ROW(A1:A))=1),"Ground")
解决方案公式
通用模板
=SUMPRODUCT(--(COUNTIFS(A:A,A:A,B:B,"指定B值",C:C,"指定C值",ROW(A:A),"<="&ROW(A:A))=1))
对应示例应用
示例1:统计B列为「Fly」且C列为「Air」的匹配值
=SUMPRODUCT(--(COUNTIFS(A:A,A:A,B:B,"Fly",C:C,"Air",ROW(A:A),"<="&ROW(A:A))=1))返回结果:1
示例2:统计B列为「Ground」且C列为「Tree」的匹配值
=SUMPRODUCT(--(COUNTIFS(A:A,A:A,B:B,"Ground",C:C,"Tree",ROW(A:A),"<="&ROW(A:A))=1))返回结果:2
公式逻辑说明
COUNTIFS(...) = 1:筛选出同时满足B、C列条件,且是A列对应唯一值首次出现的记录--:将布尔判断结果(TRUE/FALSE)转换为可计算的1/0SUMPRODUCT:对所有符合条件的1进行求和,得到最终统计数量
内容的提问来源于stack exchange,提问作者Falcon4ch
相关产品推荐
相关产品推荐

