2

Таким образом, моя проблема более сложная, но я попробовал с гораздо более простой формулой (с похожим случаем), и я получил ту же проблему. Формула массива, которую я использую, возвращает результаты только для первого значения в массиве ...

НАПРИМЕР.

в столбце у меня 5 букв: A, B, C, D, E

и моя формула

{=COUNTIF($B$1:$B$4,{"A","B","C","D"})} 

что дает мне результат: 1 Это только подсчет значений "A"

когда это должно быть: 4

Кто-нибудь, что я могу сделать вместо этого или почему это не работает?

2 ответа2

1

Нет необходимости в CSE, переносе в SUM() или SUMPRODUCT():

=SUM(COUNTIF($B$1:$B$4,{"A","B","C","D"}))

0

Это потому, что есть только несколько функций Excel, которые принимают массивы и константы массивов:

https://support.office.com/en-us/article/Overview-of-formulas-in-Excel-ecfdc708-9162-49e8-b993-c311f47ca173

Некоторые из встроенных функций являются формулами массива и должны вводиться как массивы, чтобы получить правильные результаты.

Клянусь, я видел список функций, которые поддерживают массивы для своих параметров, но я не могу найти эту страницу.

В любом случае, кажется, что параметр Criteria просматривает только первый элемент в вашем массиве. Если бы вы изменили свою формулу на следующую:

{=COUNTIF($B$1:$B$4,{"e","a","b","c"})}

Результат 0 . Это означает, что параметр Criteria не принимает константы массива (или другие массивы).

Вы можете сделать то же, что сделал Скотт в другом ответе, или продолжить использовать Count If, но другим способом:

{=COUNT(IF($B$1:$B$4={"a","b","c","d"},1))}

Это немного больше печатать, но он получает ответ, который вы ищете.

Вы также можете использовать SUM для того же (немного отличается от ответа Скотта):

{=SUM(($B$1:$B$4={"a","b","c","d"})*1)}

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .