首页 > 解决方案 > 计算某些列中满足任何条件的行数(类似 OR 的操作)

问题描述

假设我们有下表:

|  A  |  B  |  C  |  D  |
| --- | --- | --- | --- |
|  0  |  T  |  0  |  T  | (B[0] == T OR D[0] == T)
|  1  |  T  |  1  |  T  | (B[1] == T OR C[1] > 0 OR D[1] == T)
|  2  |  T  |  0  |  F  | (B[2] == T)
|  3  |  F  |  0  |  F  | (doesn't meet any criteria)
|  4  |  F  |  2  |  F  | (C[4] > 0)
|  5  |  F  | -1  |  F  | (doesn't meet any criteria)

我希望做类似的事情COUNTORS(B:B, true, C:C, ">0", D:D, true)回报4

也就是说,对于单行,如果B、C、D列中的任何一个值符合条件,那么我们应该计算它(+=1)。

标签: if-statementgoogle-sheetsgoogle-sheets-formulaarray-formulascountif

解决方案


@player0 的答案对我不起作用,所以我适应了制作我可以使用的东西,尽管我的答案更难看。

=SUM(ARRAYFORMULA(IF((B:B=TRUE)+(C:C>0)+(D:D=TRUE) > 1, 1, (B:B=TRUE)+(C:C>0)+(D:D=TRUE) ))) 

最明显的解决方案是ORIF语句中使用,但由于某种原因,它不能很好地使用,ARRAYFORMULA而是我直接将所有条件相加并将值设置为 1,以防不计算同一行的多个列。

最后结果


推荐阅读