Формула массива Sumif с вложенным, если функция возвращает только первое значение в массиве - PullRequest
0 голосов
/ 07 июля 2019

У меня есть формула sumif, обернутая в формулу суммы, так что я могу использовать массив, где, если значение в ячейке G2 равно «Все», тогда я хочу сложить значения в диапазоне B2: B4 для трех имен в данных, но если ячейка значения G2 равна одному из трех имен, т. е. Tim, то я просто хочу сложить все значения в диапазоне B2: B4 для Tim. Формула работает нормально, если используется только одно имя, но когда я ввожу «Все» в ячейку G2, добавляется только значение для первого имени. Я использую следующую формулу:

=SUM(SUMIF(A2:A4,IF(G2="All",{"Tim","Henry","Mike"},G2),B2:B4))

Заранее спасибо за любые идеи о том, как заставить это работать.

Ответы [ 2 ]

0 голосов
/ 07 июля 2019

Нет необходимости жестко кодировать массив или для формулы массива:

=SUMIF(A:A,IF(G2="All","*",G2),B:B)
0 голосов
/ 07 июля 2019

На всякий случай, если эти три значения являются единственными встречающимися значениями в вашем списке, вы можете просто поместить это в выражение IF, например:

=IF(G2="All",SUM(B2:B4),SUMIF(A2:A4,G2,B2:B4))

enter image description here

Если у вас есть другие имена в столбце поиска, например:

enter image description here

Ваша собственная формула отлично работает, используя ее какформула массива.Вам просто нужно было ввести его через Ctrl + Shift + Ввести

Вы можете использовать формулу, например:

=IF(G2="All",SUMPRODUCT(SUMIF(A2:A5,{"Tim","Henry","Mike"},B2:B5)),SUMIF(A2:A5,G2,B2:B5))

Чтобы не вводить его как массив (формально это все еще формула массива!)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...