2016-04-19 3 views
0

Я провел много времени с формулой в Excel, и я все еще заблокирован. Я надеюсь, что вы можете мне помочь.SUMPRODUCT несколько ifs

У меня есть таблица в Excel с несколькими значениями, как показано в этом screenshot.

Что я пытаюсь извлечь это количество фруктов, проданных в определенном месяце. То есть, сколько лимонов было продано, например, в январе 2016 года. Это формула, которую я использую:

=SUMPRODUCT((B3:B38=E4)*(MONTH($A$3:$A$150)=12)*(YEAR($A$3:$A$150)=2015);$C$3:$C$150) 

Но результат № N/A, как видно на скриншоте.

Что я делаю неправильно? Любая помощь, пожалуйста?

Большое спасибо!

+0

Почему бы не использовать сводную таблицу? –

+0

Привет, Джон, спасибо за ваш ответ. Я понятия не имею, какая сводная таблица ...: S ... Я посмотрю, хотя ... – saysmus

+0

Интересно, что в этом уроке используются фрукты и овощи для своего примера: http://www.excel-easy.com/data-analysis/pivot-tables.html. В общем, много сложный поиск/расчет уже встроен в сводные таблицы. Существует немного кривой обучения, но единственным способом стать пользователем Power Power является овладение ими. –

ответ

1

Часть вашей проблемы заключается в том, что ваши диапазоны не равны по длине. B3: B38 должно быть такого же количества строк, как $ A $ 3: $ A $ 150 и C3: C150. Когда строки не равны, на вас на вас нападают.

=SUMPRODUCT(($B$3:$B$150=$E4)*(MONTH($A$3:$A$150)=12)*(YEAR($A$3:$A$150)=2015);$C$3:$C$150) 

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

=SUMPRODUCT(($B$3:$B$38=$E4)*(MONTH($A$3:$A$150)=Month(F$3))*(YEAR($A$3:$A$150)=Year(F$3));$C$3:$C$150) 
+0

Это сработало! Большое спасибо! Единственное, что я должен был изменить, это длительность диапазонов и решение этой проблемы. Если я заменю последний полутолл на *, я получаю ошибку Value, но оставив полуточку, я получаю желаемое значение! Большое спасибо Forward Ed. – saysmus

+0

ЕСЛИ вы действительно ищете результаты januray 2016 по вашему вопросу, а затем измените 2015 в формуле до 2016 года и ваш месяц с 12 до 1, хотя технически вы должны будете обновить месяц для каждого столбца. –

1

Заполните свою месячную строку последним днем ​​каждого месяца, затем примените формат даты, чтобы показать только название месяца. Формула вы должны использовать это, например, в g8:

=SUMIFS($C:$C;$B:$B;$E8;$A:$A;"<="&G$3;$A:$A;">"&F$3) 

Первая колонка «F» не имеет столбец слева, чтобы сравнить, так что вы можете поставить дату в Е3 или немного изменить формула (пример F8):

=SUMIFS($C:$C;$B:$B;$E8;$A:$A;"<="&F$3;$A:$A;">2015/12/31") 

Посмотрите на result

+0

Спасибо за ваше время и ответ. – saysmus

0

Если вы не хотите использовать сводную таблицу, вы можете использовать эту формулу, чтобы получить то, что вам нужно:

=SUMPRODUCT(($B$3:$B$150=$E3)*(MONTH($A$3:$A$150)=1)*(YEAR($A$3:$A$150)=2015)*$C$3:$C$150) 

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

Это должно работать довольно пищу хорошо :)

Удачи!

+0

Спасибо за ваш ответ и помощь! – saysmus

2

Вы можете использовать массивы в Excel, чтобы получить этот ответ

{SUM(IF(MONTH(F$3&"1")=MONTH($A$3:$A$150),IF($E4=$B$3:$B$150,$C$3:$C$150,0),0))} 
2

Вы можете использовать эту формулу SUMPRODUCT, которая использует логику массива:

SUMPRODUCT((MONTH($A$3:$A$38)=MONTH(TEXT(G$2,"MMM")&1))*($C$3:$C$38=$F4)* 
($D$3:$D$38)) 

Sumproduct Demo

Смежные вопросы