Как использовать функцию СУММПРОИЗВ в Excel -

Содержание

Резюме

Функция СУММПРОИЗВ умножает диапазоны или массивы и возвращает сумму произведений. Это звучит скучно, но СУММПРОИЗВ - это невероятно универсальная функция, которую можно использовать для подсчета и суммирования, как СЧЁТЕСЛИМН или СУММЕСЛИМН, но с большей гибкостью. Другие функции можно легко использовать внутри SUMPRODUCT для дальнейшего расширения функциональности.

Цель

Умножьте, затем суммируйте массивы

Возвращаемое значение

Результат умножения и суммирования массивов

Синтаксис

= СУММПРОИЗВ (массив1; (массив2);…)

Аргументы

  • array1 - первый массив или диапазон для умножения, а затем добавления.
  • array2 - (необязательно) Второй массив или диапазон для умножения, а затем добавления.

Версия

Excel 2003

Примечания по использованию

Функция СУММПРОИЗВ работает с массивами, но не требует для ввода обычного синтаксиса массива (Ctrl + Shift + Enter). Функция СУММПРОИЗВ предназначена для умножения, а затем суммирования массивов. Если указан только один массив, SUMPRODUCT просто просуммирует элементы в массиве. Может быть поставлено до 30 массивов.

Когда вы впервые сталкиваетесь с SUMPRODUCT, это может показаться скучным, сложным и даже бессмысленным. Но СУММПРОИЗВ - удивительно универсальная функция, имеющая множество применений. Поскольку он будет обрабатывать массивы изящно и без жалоб, вы можете использовать его для обработки диапазонов ячеек умными и элегантными способами (см. Ссылки на примеры формул на этой странице).

Чтобы проиллюстрировать, как работает SUMPRODUCT, вот несколько распространенных примеров.

СУММПРОИЗВ для условных сумм и отсчетов

Предположим, у вас есть данные о заказе в A2: B6, с State в столбце A, Продажи в столбце B:

А B
1 государство Продажи
2 UT 75
3 CO 100
4 TX 125
5 CO 125
6 TX 150

Используя СУММПРОИЗВ, вы можете подсчитать общий объем продаж в Техасе («Техас») по следующей формуле:

=SUMPRODUCT(--(A2:A6="TX"))

И вы можете суммировать общие продажи в Техасе ("Техас") по следующей формуле:

=SUMPRODUCT(--(A2:A6="TX"),B2:B6)

Примечание: пусть вас не смущает двойное отрицание. Это обычный прием, используемый в более сложных формулах Excel для приведения значений ИСТИНА и ЛОЖЬ к единицам и нулям. Подробнее см. Ниже…

Для приведенного выше примера суммы, вот виртуальное представление двух массивов, сначала обработанных СУММПРОИЗВОМ:

array1 array2
ЛОЖНЫЙ 75
ЛОЖНЫЙ 100
ПРАВДА 125
ЛОЖНЫЙ 125
ПРАВДА 150

Каждый массив состоит из 5 элементов. Первый массив содержит значения ИСТИНА / ЛОЖЬ, которые являются результатом выражения A2: A6 = "TX", а второй массив - это содержимое B2: B6. Каждый элемент в первом массиве будет умножен на соответствующий элемент во втором массиве. Однако в текущем состоянии результат SUMPRODUCT будет равен нулю, поскольку значения TRUE и FALSE будут обрабатываться как нулевые. Нам нужно, чтобы элементы в array1 были числовыми - они должны быть «принуждены» к единицам и нулям. Вот тут-то и появляется двойное отрицание.

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

array1 array2 Товар
0 * 75 знак равно 0
0 * 100 знак равно 0
1 * 125 знак равно 125
0 * 125 знак равно 0
1 * 150 знак равно 150
Сумма 275

При использовании синтаксиса фигурных скобок для массивов пример после приведения выглядит следующим образом:

=SUMPRODUCT((0,0,1,0,1),(75,100,125,125,150))

и вот так после умножения:

=SUMPRODUCT((0,0,125,0,150))

Этот пример более подробно развивает идеи, представленные выше.

СУММПРОИЗВ с другими функциями

SUMPRODUCT может напрямую использовать другие функции. Вы можете увидеть, что функция SUMPRODUCT используется с функцией LEN для подсчета общего количества символов в диапазоне или с такими функциями, как ISBLANK, ISTEXT и т. Д. Обычно это не функции массива, но когда им задается диапазон, они создают «массив результатов». Поскольку SUMPRODUCT создан для работы с массивами, он может выполнять вычисления с массивами напрямую. Это может быть хорошим способом сэкономить место на листе, устраняя необходимость во вспомогательном столбце.

Например, предположим, что у вас есть 10 различных текстовых значений в A1: A10, и вы хотите подсчитать общее количество символов для всех 10 значений. Вы можете добавить вспомогательный столбец в столбец B, который использует эту формулу: LEN (A1) для вычисления символов в каждой ячейке. Затем вы можете использовать СУММ, чтобы сложить все 10 чисел. Однако, используя СУММПРОИЗВ, вы можете написать такую ​​формулу:

=SUMPRODUCT(LEN(A1:A10))

При использовании с диапазоном наподобие A1: A10, LEN вернет массив из 10 значений. Затем SUMPRODUCT просто просуммирует все значения и вернет результат, без вспомогательного столбца.

См. Ниже примеры многих других способов использования SUMPRODUCT.

Заметки:

  1. SUMPRODUCT обрабатывает нечисловые элементы в массивах как нули.
  2. Аргументы массива должны быть одинакового размера. В противном случае SUMPRODUCT сгенерирует #VALUE! значение ошибки.
  3. Логические тесты внутри массивов создадут значения ИСТИНА и ЛОЖЬ. В большинстве случаев вы захотите привести их к 1 и 0.
  4. SUMPRODUCT часто может напрямую использовать результат других функций (см. Примеры формул ниже)

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