2017-02-22 40 views
2

Я пытаюсь найти SUM многочастного IF заявление, используя отдельную таблицу:IF ARRAY Формула

=SUM(IF(AND([Doc.xlsx]Sheet1!$B$7:$B$348="APPL*", C15=[Doc.xlsx]Sheet1!$C$4:$BG$4),[Doc.xlsx]Sheet1!$I$7:$J$348)) 

ПРИМЕЧАНИЕ: C15 = "A1"

Я пытался ломать эту формулу вниз в эти две отдельные части:

=IF(C15=[Doc.xlsx]Sheet1!$A$4:$BG$4,TRUE) 

и

=IF([Doc.xlsx]Sheet1!$B$7:$B$348 = "APPL*",TRUE) 

Однако все они не работают.

Как вы можете найти один вывод, используя два критерия, такие как столбец столбца и заголовок строки?

Вот изображение того, с чем я работаю. Мне нужно суммировать все числа, удовлетворяемые критериями из сетки, используя заголовок столбца и заголовок Row.

+0

Ваш регион сумма не совпадает число столбцов в качестве заголовков. Также загляните в SUMPRODUCT(), это сработает с этим, но только в этой области суммируется одинаковое количество столбцов. –

ответ

0

Согласно моим комментариям, каждый должен иметь равномерный выход для диапазонов ввода; такое же количество строк, что и заголовки строк, и такое же количество столбцов, что и заголовки столбцов.

Здесь вы найдете, где эти два пересекаются и суммируют соответствующие пересечения.

С формулой Array on нельзя использовать AND() или OR() функции. Используйте * или + соответственно, чтобы выполнить то же самое.

Так что-то вроде:

=SUM(IF((A2:A12=B15)*(B1:K1=B16),B2:K12)) 

Будучи формулой массива она должна быть подтверждена с помощью Ctrl-Shift-Enter вместо Enter при выходе из режима редактирования. Если все сделано правильно, Excel поместит {} вокруг формулы.

Но можно сделать то же самое с SUMPRODUCT() без необходимости Ctrl-Shift-Enter.

=SUMPRODUCT((A2:A12=B15)*(B1:K1=B16),B2:K12) 

SUMPRODUCT не нужна Ctrl-Shift-Enter, чтобы войти, но обычный метод ввода. Он по-прежнему является формулой типа массива.

enter image description here


Теперь ко второй части IF/SUMPRODUCT не использовать дикие карты так что вам нужно будет использовать ПОИСК(), который позволит использовать подстановочные знаки.

=SUM(IF((ISNUMBER(SEARCH("APPL*",[Doc.xlsx]Sheet1!$B$7:$B$348)))*(C15=[Doc.xlsx]Sheet1!$C$4:$BG$4),[Doc.xlsx]Sheet1!$C$7:$BG$348)) 

SUMPRODUCT:

=SUMPRODUCT((ISNUMBER(SEARCH("APPL*",[Doc.xlsx]Sheet1!$B$7:$B$348)))*(C15=[Doc.xlsx]Sheet1!$C$4:$BG$4),[Doc.xlsx]Sheet1!$C$7:$BG$348) 
+0

Спасибо, Скотт, это очень помогло. Я столкнулся с проблемой с моим подстановочным знаком, хотя ... К сожалению, мои заголовки строк похожи, но не одинаковы, поэтому необходим шаблон. = SUMPRODUCT (('[Doc.xlsx] Лист1' $ A $ 7: $ A $ 348 = "воспитательным *") * ('[Doc.xlsx] Лист1'!$ B $ 4: $ AM $ 4 = C15), '[Doc.xlsx] Лист1' $ B $ 7: $ AM $ 348) –

+0

@EmilioBolton см редактирования. ? –

+0

как бы вы добавить "IsNumber (ПОИСК (" по формуле SUMPRODUCT Вот то, что я и мой возвращенный результат "0" = SUMPRODUCT (('[Doc.xlsx] Лист1' $ A $ 7:.! $ A $ 348 = (ISNUMBER (SEARCH ("воспитательным *", '[Doc.xlsx] Лист1' $ A $ 7: $ A $ 348)))) * ('[Doc.xlsx] Лист1' $ B $ 4: $ AM $ 4 = ! C15), '[Doc.xlsx] Лист1' $ B $ 7: $ AM $ 348) –