Формула Excel: Сумма по дням недели -

Содержание

Общая формула

=SUMPRODUCT((WEEKDAY(dates)=day_num)*values)

Резюме

Чтобы суммировать данные по дням недели (т.е. суммировать по понедельникам, вторникам, средам и т. Д.), Вы можете использовать функцию СУММПРОИЗВ вместе с функцией ДЕНЬ НЕДЕЛИ.

В показанном примере формула H4 имеет следующий вид:

=SUMPRODUCT((WEEKDAY(dates,2)=G4)*amts)

Объяснение

Вы можете спросить, почему мы не используем функцию СУММЕСЛИ или СУММЕСЛИМН? Кажется, это очевидный способ суммирования по дням недели. Однако без добавления вспомогательного столбца со значением дня недели невозможно создать критерий для СУММЕСЛИ, учитывающий день недели.

Вместо этого мы используем удобную функцию СУММПРОИЗВ, которая изящно обрабатывает массивы без необходимости использовать Control + Shift + Enter.

Мы используем SUMPRODUCT только с одним аргументом, который состоит из этого выражения:

(WEEKDAY(dates,2)=G4)*amts

Работая изнутри, функция WEEKDAY конфигурируется с необязательным аргументом 2, который заставляет ее возвращать числа 1-7 для дней с понедельника по воскресенье, соответственно. В этом нет необходимости, но это упрощает перечисление дней по порядку и последовательное получение чисел в столбце G.

WEEKDAY оценивает каждое значение в названном диапазоне «дат» и возвращает число. Результатом является такой массив:

(3; 5; 3; 1; 2; 2; 4; 2)

Затем числа, возвращаемые WEEKDAY, сравниваются со значением в G4, равным 1.

(3; 5; 3; 1; 2; 2; 4; 2) = 1

Результатом является массив значений ИСТИНА / ЛОЖЬ.

(ЛОЖЬ; ЛОЖЬ; ЛОЖЬ; ИСТИНА; ЛОЖЬ; ЛОЖЬ; ЛОЖЬ; ЛОЖЬ)

Затем этот массив умножается на значения в именованном диапазоне «amts». СУММПРОИЗВ работает только с числами (не с текстом или логическими значениями), но математические операции автоматически приводят значения ИСТИНА / ЛОЖЬ к единице и нулям, поэтому мы имеем:

(0; 0; 0; 1; 0; 0; 0; 0) * (100; 250; 75; 275; 250; 100; 300; 125)

Что дает:

(0; 0; 0; 275; 0; 0; 0; 0)

Имея только этот единственный массив для обработки, SUMPRODUCT суммирует элементы и возвращает результат.

Интересные статьи...