=СУММПРОИЗВ(B2:B6;C2:C6) умножает каждое количество из B на цену рядом с ним в C, а потом складывает результаты. Это функция СУММПРОИЗВ (по-английски SUMPRODUCT): она даёт сумму заказа в одной ячейке, без столбца с итогами по строкам. В таблице ниже формулы записаны по-английски, но их можно вводить и по-русски, с точкой с запятой.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Item | Qty | Price | Line total | Total | |
| 2 | Pen | 4 | $1.50 | $6.00 | $30.70 | |
| 3 | Notebook | 2 | $3.25 | $6.50 | $30.70 | |
| 4 | Folder | 5 | $0.80 | $4.00 | ||
| 5 | Stapler | 1 | $7.90 | $7.90 | ||
| 6 | Marker | 3 | $2.10 | $6.30 |
=СУММПРОИЗВ(B2:B6;C2:C6)F2 и F3 показывают одну и ту же сумму, $30.70. Итоги по строкам в столбце D нужны только для того, чтобы показать, что делает СУММПРОИЗВ: 4 × 1,50, 2 × 3,25 и так далее, а затем СУММ. Измените количество, и обе суммы изменятся.
Синтаксис СУММПРОИЗВ
=SUMPRODUCT(array1, [array2], [array3], ...)
- Каждый массив это диапазон или вычисление, которое его даёт, и все они должны быть одного размера, иначе СУММПРОИЗВ возвращает
#ЗНАЧ!(по-английски#VALUE!, так ошибки показывают таблицы на этой странице). - Если массивов два или больше, значения на одинаковых позициях перемножаются, а затем произведения складываются.
- С одним массивом функция просто его складывает, и на этом держатся формы с условиями ниже: в
=СУММПРОИЗВ((A2:A7="North")*C2:C7)один массив, уже перемноженный. - Текст, переданный отдельным аргументом, считается нулём. Текст внутри вычисления с
*вызывает#ЗНАЧ!.
СУММПРОИЗВ работает с массивами в любой версии Excel без Ctrl+Shift+Enter (Cmd+Shift+Enter на Mac), поэтому до появления СУММЕСЛИМН она была стандартным инструментом для сумм по условию и остаётся им для случаев, с которыми СУММЕСЛИМН не справляется.
СУММПРОИЗВ с условиями
Сравнение на диапазоне, A2:A7="North", возвращает по одному ИСТИНА или ЛОЖЬ на строку. Умножение на него оставляет строки, где ИСТИНА (×1), и обнуляет остальные (×0). Для И перемножьте два сравнения.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Region | Product | Sales | Formula | Result | |
| 2 | North | Apple | 120 | North sales | 230 | |
| 3 | South | Pear | 45 | North Apple sales | 150 | |
| 4 | North | Pear | 80 | Count North | 3 | |
| 5 | East | Apple | 55 | Count over 50 | 4 | |
| 6 | South | Apple | 200 | Without -- | 0 | |
| 7 | North | Apple | 30 |
=СУММПРОИЗВ((A2:A7="North")*C2:C7)F2 складывает три строки North: 230. F3 перемножает два условия, поэтому строка учитывается, только когда выполняются оба: 150. Чтобы считать, а не складывать, уберите значения и превратите ИСТИНА/ЛОЖЬ в числа через -- (два знака минус): F4 считает 3 строки North. F6 показывает, зачем нужно --: СУММПРОИЗВ не складывает значения ИСТИНА, поэтому формула без него возвращает 0.
Первые четыре дают те же результаты, что СУММЕСЛИ, СУММЕСЛИМН и СЧЁТЕСЛИ. В следующем разделе СУММПРОИЗВ показывает, зачем она нужна.
Условия, которые СУММЕСЛИМН выразить не может
СУММЕСЛИМН сравнивает столбец с фиксированным критерием. Она не может взять месяц даты, сравнить два столбца друг с другом или умножить количество на цену перед сложением. СУММПРОИЗВ может, потому что каждое условие это обычное вычисление.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Region | Date | Target | Actual | Formula | Result | |
| 2 | North | 2026-01-05 | 100 | 120 | February sales | 135 | |
| 3 | South | 2026-01-12 | 60 | 45 | Rows over target | 3 | |
| 4 | North | 2026-02-03 | 90 | 80 | North or East sales | 285 | |
| 5 | East | 2026-02-18 | 50 | 55 | Above target by | 75 | |
| 6 | South | 2026-03-02 | 150 | 200 | |||
| 7 | North | 2026-03-20 | 40 | 30 |
=СУММПРОИЗВ((МЕСЯЦ(B2:B7)=2)*D2:D7)- G2 берёт МЕСЯЦ (MONTH) каждой даты и оставляет строки февраля: 80 + 55 = 135. Так складывается февраль любого года; добавьте
*(ГОД(B2:B7)=2026), чтобы взять только один год. - G3 построчно сравнивает два столбца и считает строки, где Actual больше Target.
- G4 это ИЛИ: сумма двух условий даёт 1, когда выполняется любое из них (и 2, когда оба, поэтому нужно
>0). North или East: 285. - G5 складывает, на сколько каждая строка превысила свою цель, только для строк, где это случилось.
СУММПРОИЗВ для взвешенных сумм и средних
Количество, умноженное на цену, это взвешенная сумма, и к ней можно добавить условия. Та же идея, делённая на сумму весов, даёт взвешенное среднее: =СУММПРОИЗВ(B2:B6;C2:C6)/СУММ(B2:B6) это средняя цена за проданную единицу.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Region | Product | Qty | Price | Formula | Result | |
| 2 | North | Apple | 10 | $1.20 | North revenue | $31.00 | |
| 3 | South | Pear | 4 | $1.50 | All revenue | $61.00 | |
| 4 | North | Pear | 6 | $1.50 | Average price per item | $1.36 | |
| 5 | East | Apple | 8 | $1.20 | |||
| 6 | South | Apple | 12 | $1.20 | |||
| 7 | North | Plum | 5 | $2.00 |
=СУММПРОИЗВ((A2:A7="North")*C2:C7*D2:D7)North продал 10 яблок по $1.20, 6 груш по $1.50 и 5 слив по $2.00, поэтому G2 показывает $31.00. Простое среднее цен считало бы, что слива продаётся так же часто, как яблоко; G4 взвешивает каждую цену по количеству.
Практика: выручка по условию
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Region | Product | Qty | Price | Formula | Result | |
| 2 | North | Apple | 10 | $1.20 | South revenue | ||
| 3 | South | Pear | 4 | $1.50 | |||
| 4 | North | Pear | 6 | $1.50 | |||
| 5 | East | Apple | 8 | $1.20 | |||
| 6 | South | Apple | 12 | $1.20 | |||
| 7 | North | Plum | 5 | $2.00 |
Ваша очередь: Посчитайте выручку South: количество, умноженное на цену, только для строк South. Напишите формулу в G2.
СУММПРОИЗВ или СУММЕСЛИМН, и две её ошибки
| Условие | СУММЕСЛИМН | СУММПРОИЗВ |
|---|---|---|
| Столбец равен значению | =СУММЕСЛИМН(C2:C7;A2:A7;"North") | =СУММПРОИЗВ((A2:A7="North")*C2:C7) |
| Содержит текст | =СУММЕСЛИМН(C2:C7;B2:B7;"*app*") | =СУММПРОИЗВ(ЕЧИСЛО(ПОИСК("app";B2:B7))*C2:C7) |
| Месяц даты | напрямую нельзя | =СУММПРОИЗВ((МЕСЯЦ(B2:B7)=2)*D2:D7) |
| Столбец со столбцом | нельзя | =СУММПРОИЗВ(--(D2:D7>C2:C7)) |
| Количество × цена | нельзя | =СУММПРОИЗВ(C2:C7;D2:D7) |
Выбирайте СУММЕСЛИМН всегда, когда она справляется. Её легче читать, она быстрее на десятках тысяч строк и принимает целые столбцы. =СУММПРОИЗВ((A:A="North")*C:C) перемножает больше миллиона строк и возвращает #ЗНАЧ!, как только доходит до текста заголовка в C1, поэтому давайте СУММПРОИЗВ точные диапазоны вроде A2:A500.
Две ошибки, которые вы встретите:
#ЗНАЧ!из-за диапазонов разного размера.=СУММПРОИЗВ(B2:B6;C2:C7)не работает. Каждый диапазон должен охватывать одни и те же строки.#ЗНАЧ!из-за текста в перемножаемом диапазоне. Заголовок или «n/a» внутриC2:C7ломают(A2:A7="North")*C2:C7, потому что текст нельзя умножить. Начинайте диапазон ниже заголовка или передавайте значения отдельным аргументом:=СУММПРОИЗВ(--(A2:A7="North");C2:C7)считает текст в C нулём.
Часто задаваемые вопросы
Что делает СУММПРОИЗВ в Excel?
Она построчно перемножает диапазоны и складывает произведения. =СУММПРОИЗВ(B2:B6;C2:C6) это B2C2 + B3C3 + ... + B6*C6, например количество, умноженное на цену и сложенное в сумму заказа.
Как использовать СУММПРОИЗВ с условием?
Умножьте на сравнение: =СУММПРОИЗВ((A2:A7="North")*C2:C7) складывает C2:C7 для строк North. Сравнение даёт ИСТИНА или ЛОЖЬ, а при умножении они превращаются в 1 или 0.
Что означает -- в СУММПРОИЗВ?
Это два знака минус, которые превращают ИСТИНА и ЛОЖЬ в 1 и 0. =СУММПРОИЗВ(--(C2:C7>50)) считает значения больше 50. Без них СУММПРОИЗВ считает ИСТИНА/ЛОЖЬ нулями и возвращает 0.
Что выбрать: СУММПРОИЗВ или СУММЕСЛИМН?
Используйте СУММЕСЛИМН, когда её критерии могут выразить условие: её легче читать, и на больших диапазонах она быстрее. Используйте СУММПРОИЗВ, когда для условия нужно вычисление, например месяц даты, сравнение одного столбца с другим или количество, умноженное на цену.
Почему СУММПРОИЗВ возвращает #ЗНАЧ!?
Диапазоны разного размера (B2:B6 и C2:C7) или в диапазоне, который умножается через *, есть текст. Сделайте все диапазоны одного размера, а диапазоны с текстом передавайте отдельными аргументами: так текст считается нулём.