首页 > 解决方案 > 与 OR 逻辑一起使用的 CountIFS 的 Google Sheets 替代品是什么?

问题描述

我在两列(SYS & DIA)中有血压数据,并想根据这些规则计算状态:

critical      SYS > 180   OR  DIA > 120 
high stage 2  SYS > 140   OR  DIA > 90  
high stage 1  SYS 130-139 OR  DIA 80-89 
elevated      SYS 120-129 AND DIA < 80  
normal        SYS < 120   AND DIA < 80   

所以对于

SYS DIA
120 73 (that's elevated)
123 81 (high stage 1)
112 83 (high stage 1)
129 68 (elevated) 
118 72 (normal)
119 80 (elevated) 

结果应该是

normal: 1
elevated: 2
high stage 1: 3

对于“提升”: =COUNTIFS(SYS;">=120";SYS;"<=129";DIA;"<80") 似乎工作正常。

如何使用 OR 处理“high stage 1”和其他情况???

我还在考虑通过添加第三列(如上所示)来解决此问题,其中包含状态描述,例如:

=IFS(OR(ISBETWEEN(SYS;130;139);ISBETWEEN(DIA;80;89));"高阶 1";AND(ISBETWEEN(SYS;120;129);DIA<80);"高架")等等...

然后我想我可以只计算该列中的单词。尽管如此,所有这些州的一个公式都会变得有点混乱,我想我错过了一个更清洁的解决方案。

标签: google-sheetsgoogle-sheets-formulacountif

解决方案


看:

=INDEX(QUERY(IF(B11:B="",,
 IF(((A11:A>=120)*(A11:A<=129))*(B11:B<80), A4,
 IF((A11:A<120)*(B11:B<80), A5, 
 IF((A11:A>180)+(B11:B>120), A1, 
 IF((A11:A>140)+(B11:B>90), A2, 
 IF(((A11:A>=130)*(A11:A<=139))+((B11:B>=80)*(B11:B<=89)), A3)))))), 
 "select Col1,count(Col1) where Col1 is not null group by Col1 label count(Col1)''"))

在此处输入图像描述


推荐阅读