Using two conditions with a SUMIF function in Excel 2003

For a given row on Sheet1, I use the SUMIF функция, чтобы увидеть, находится ли значение из первой ячейки этой строки в списке исторических значений в Sheet2.

Это в основном суммирует все значения на моем историческом листе и группирует их по имени ячейки А1 на Листе 2.

Мне нужно второе условие, чтобы я также мог группировать строки по месяцам, и SUMIF не похоже на второе условие или AND объединить второй пункт.

4 ответа

Решение

Предположения:

Даты в столбце B

Ряды 5:29

исторический список в диапазоне имя "Исторический"

Месяц для тестирования находится в диапазоне имя "rngMonth"

=SUMPRODUCT((NOT(ISNA(MATCH(A5:A29,Historical,FALSE))))*(MONTH(B5:B29)=rngMonth)*(C5:C29))

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

например, SUMIF(все ячейки, которые соответствуют большим критериям) - SUMIF(все ячейки, которые являются частью небольших критериев).

Альтернативный вариант: на листе с историческими данными добавьте столбец, объединяющий два столбца, которые вы хотите использовать в качестве комбинированных условий. Например, предположим, что один столбец условия имеет диапазон с именем "Месяц", а другой столбец условия - с именем диапазона "PersonName":

Новый столбец содержит следующую формулу:

=Month&" "&PersonName

Назовите этот столбец (например, "Критерии"), затем используйте это имя диапазона в SUMIF. Например:

=SUMIF(Criteria,"January Biff",ValsToBeSummed)

Используйте формулы массива следующим образом:

{=sum(If(sheet2!A1:A50=sheet1!A1,if(sheet2!B1:B50=Sheet1!B1,Sheet2!C1:C50)))}

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

Введение в Array Forumulas (опубликованное Jon Fournier) также является хорошим источником по этому вопросу.

Другие вопросы по тегам