Google Sheets支持OR逻辑的COUNTIFS替代方法 用于血压数据分类计数
方案1:无需辅助列直接统计
带OR条件的计数可以用SUM配合数组逻辑实现,无需新增辅助列,公式写法如下(假设SYS数据存放在A2:A7,DIA数据存放在B2:B7,如果你使用的办公软件要求公式参数用分号分隔,把公式内的逗号替换为分号即可):
- 统计high stage 1数量:
=SUM(--( (A2:A7>=130)*(A2:A7<=139) + (B2:B7>=80)*(B2:B7<=89) >0 ))
逻辑说明:用乘法代替AND逻辑,加法代替OR逻辑,--负责将布尔判断结果转为1/0数值,只要两个条件任意一个满足,加法结果就会大于0,对应行就会计入统计。 - 统计high stage 2数量:
=SUM(--( (A2:A7>140) + (B2:B7>90) >0 )) - 统计critical数量:
=SUM(--( (A2:A7>180) + (B2:B7>120) >0 )) - 原有elevated、normal状态也可以用同逻辑写法保持格式统一:
- elevated:
=SUM(--( (A2:A7>=120)*(A2:A7<=129)*(B2:B7<80) )) - normal:
=SUM(--( (A2:A7<120)*(B2:B7<80) ))
- elevated:
方案2:精简辅助列方案
如果需要核对单条数据的状态,可按优先级从高到低写短判断逻辑,避免长条件嵌套:
在C2单元格输入如下公式,下拉填充所有数据行即可自动标记每行状态:=IFS(A2>180,"critical",B2>120,"critical",A2>140,"high stage 2",B2>90,"high stage 2",A2>=130,"high stage 1",B2>=80,"high stage 1",A2>=120,"elevated",TRUE,"normal")
之后用=COUNTIF(C:C,"normal")这类公式即可快速统计各状态数量,判断逻辑按严重程度从高到低执行,不需要重复加区间上下限,出错概率更低。
内容的提问来源于stack exchange,提问作者krzwierz79
相关产品推荐
相关产品推荐

