Как мне объединить COUNTIF и OR?
В таблицах Google мне нужно использовать функцию COUNTIF
для диапазона с несколькими критериями. Поэтому в приведенной ниже таблице мне нужно иметь что-то вроде =COUNTIF(B:B,"Mammal"or"Bird")
и возвращать значение 4.
A |B
-------------------
Animal | Type
-------------------
Dog | Mammal
Cat | Mammal
Lizard | Reptile
Snake | Reptile
Alligator | Reptile
Dove | Bird
Chicken | Bird
Я перепробовал много разных подходов без удачи.
Ответы
Ответ 1
Один вариант:
=COUNTIF(B:B; "Mammal") + COUNTIF(B:B; "Bird")
Согласно документации:
Примечания
COUNTIF может выполнять только условные подсчеты с одним критерием. Чтобы использовать несколько критериев, используйте COUNTIFS или функции базы данных DCOUNT или DCOUNTA.
COUNTIFS
: эта функция доступна только в новых Google Таблицах.
Пример:
=DCOUNTA(B:B; 2; {"Type"; "Mammal"; "Bird"})
Ответ 2
Вы также можете использовать ArrayFormula вокруг конструкции SUM (COUNTIFS()):
=ArrayFormula(SUM(COUNTIF(B:B,{"Mammal", "Bird"}))
Источник: Google Docs Product Forum
Ответ 3
Как отметил Ахмед Зияд, COUNTIFS не работает:
=COUNTIFS(B:B, "Mammal", B:B, "Bird")
Он считает строки в своих объединенных диапазонах, где ВСЕ его условия истинны (И), а не где ЛЮБЫЕ (ИЛИ) условия истинны.
Ответ 4
Вы можете использовать регулярные выражения, как это:
=ARRAYFORMULA(SUM(N(REGEXMATCH(B:B, "Mammal|Bird"))))
![0]()