求Excel公式:按A列唯一值统计B列首次接触(Yes)的数量
解决Excel统计"首次接触"事件数的公式方案
可用公式
方案一(数组公式,兼容多数Excel版本)
输入后按 Ctrl+Shift+Enter 确认(Excel 365/2021可直接回车):
=SUM(--(FREQUENCY(IF(B2:B12="Yes",A2:A12),A2:A12)=1))
方案二(非数组公式,更易理解)
无需特殊按键,直接回车即可:
=SUMPRODUCT(--(COUNTIFS(A2:A12,A2:A12,B2:B12,"Yes")=1))
公式逻辑说明
- 方案一:
- 先通过
IF(B2:B12="Yes",A2:A12)筛选出B列为"Yes"对应的A列事件ID - 用
FREQUENCY统计这些ID在原A列中的出现频次 - 判断频次是否等于1,将布尔结果转为数值后求和,得到符合条件的唯一事件数
- 先通过
- 方案二:
COUNTIFS(A2:A12,A2:A12,B2:B12,"Yes")逐个统计每个A列事件对应的B列"Yes"次数- 用
--将"次数等于1"的判断结果转为1或0,最后通过SUMPRODUCT求和得到最终统计数
两种方案均能得到正确结果4,满足"每个A列唯一事件仅对应B列一个Yes"的统计需求。
内容的提问来源于stack exchange,提问作者Tanja
相关产品推荐
相关产品推荐

