如何将COUNTIF与OR结合使用

43
在Google表格中,我需要在一个包含多个条件的范围上使用COUNTIF函数。因此,在下面的表格中,我需要像这样使用=COUNTIF(B:B,“Mammal”或“Bird”)并返回值4。
A         |B
-------------------
Animal    | Type
-------------------
Dog       | Mammal
Cat       | Mammal
Lizard    | Reptile
Snake     | Reptile
Alligator | Reptile
Dove      | Bird
Chicken   | Bird

我尝试了许多不同的方法,但没有运气。

4个回答

59
一个选项:
=COUNTIF(B:B; "Mammal") + COUNTIF(B:B; "Bird")

根据文档:
备注 COUNTIF 只能使用单个条件执行条件计数。要使用多个条件,请使用 COUNTIFS 或数据库函数 DCOUNTDCOUNTACOUNTIFS:此函数仅适用于 new Google Sheets
示例:
=DCOUNTA(B:B; 2; {"Type"; "Mammal"; "Bird"})

3
谢谢wchiquito - DCOUNTA运作得很好。我很好奇这个公式中的“2”具体是做什么的。 只要这个数字等于或大于1,该公式似乎都能按预期工作,无论这个数字是什么。 - VivaNOLA
@VivaNOLA:索引表示要考虑哪一列。请参阅DCOUNTA - wchiquito
6
请注意,在存在符合两个条件的行时要小心;这些行将被计算两次。 - törzsmókus

14

ArrayFormula比反复使用COUNTIFS键入范围和字符串要好得多,而且肯定更易于维护。谢谢你发现了这个!!! - MGoBlue93

4

你可以像这样使用正则表达式:

=ARRAYFORMULA(SUM(N(REGEXMATCH(B:B, "Mammal|Bird"))))

0


2
您可以使用QUERY,它非常强大(并且通常更容易记忆,尤其是如果您来自数据库领域):
QUERY(A:B;"SELECT COUNT(B) WHERE B='Mammal' OR B='Bird'";0)

(在范围末尾使用0可避免包含标题行,如果您的范围中有标题行)

关于QUERY函数的文档请参见:https://support.google.com/docs/answer/3093343?hl=en


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接