CTRL + SHFT + ENTER Формула массива не работает

1000
andrea

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

НАПРИМЕР.

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

и моя формула

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

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

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

enter image description here

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

2

2 ответа на вопрос

1
Scott Craner

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

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

enter image description here

0
Joseph

Это потому, что есть только несколько функций 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)}

Версии с `COUNT` и` SUM` немного более проблематичны, чем версия Скотта с `COUNTIF`. В его версии вы можете заменить диапазон на любой размерный диапазон, например на строку типа `A2: E2` или даже на квадратный диапазон, например` A1: J10` .... но с приведенной выше формулой `COUNT`, например, он выиграл вообще не работает с `A1: J10` и должен был бы измениться на работу с` A2: E2` (точки с запятой в константе массива вместо запятых) barry houdini 6 лет назад 1
@barryhoudini это только проблематично, если их требования меняются. Однако я не осознавал способность версии `SUM (COUNTIF ())` обрабатывать расширяющиеся данные. Спасибо за чаевые. Joseph 6 лет назад 0

Похожие вопросы