Суммпроизв в excel ошибка

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Еще…Меньше

В этой теме описывается, как часто #VALUE! при работе с SUMPRODUCT.

Проблема: массивы имеют разный размер

Все аргументы массива должны иметь одно измерение. Если это не так, вы получите #VALUE! ошибку «#ВЫЧИС!». Например, если массив 1 ссылается на диапазон из 3 строк и 2 столбцов, массив 2 также должен соответствовать аналогичному диапазону.

Функция СУММПРОИЗВ в следующей формуле вызывает ошибку: =СУММПРОИЗВ(D2:D13;E2:E10). Адрес ячейки E10 следует поменять E13, чтобы он соответствовал адресу в первом диапазоне.

  • =СУММПРОИЗВ(D2:D13;E2:E10)

Эта формула вызовет ошибку, так как диапазоны, указанные в функции, содержат разное количество строк (13 в первом диапазоне, но только 10 во втором).

Решение: Измените формулу так, чтобы оба диапазона имели одинаковые номера первых и последних строк:

  • =СУММПРОИЗВ(D2:D13;E2:E13)

После этого вычислите формулу повторно.

Чтобы устранить ошибку функции СУММПРОИЗВ, исправьте ошибку #ЗНАЧ! в данных.

Проблема: одна или несколько ячеек в диапазоне содержат текст

Если одна или несколько ячеек в диапазоне, на который ссылается ссылка, содержат текст или отформатированы как текстовый тип данных, #VALUE! ошибку «#ВЫЧИС!». Текст может быть результатом вычисления из другой формулы или просто неправильно отформатирована ячейка.

Формула в ячейке E15 вызывает ошибку #ЗНАЧ! из-за ошибки #ЗНАЧ! в столбце E.

Решение: Проверьте наличие ячеек, содержащих текст или отформатированных как текстовые, и выберите правильный тип данных.

У вас есть вопрос об определенной функции?

Задать вопрос на форуме сообщества, посвященном Excel

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

См. также

Исправление ошибки #ЗНАЧ! #BUSY!

СУММПРОИЗВ

Полные сведения о формулах в Excel

Рекомендации, позволяющие избежать появления неработающих формул

Обнаружение ошибок в формулах

Все функции Excel (по алфавиту)

Функции Excel (по категориям)

Нужна дополнительная помощь?

 

qqq1507

Пользователь

Сообщений: 151
Регистрация: 23.04.2015

Уважаемые знатоки, помогите найти ошибку в приложенном файле. Почему то не вычисляется формула СУММПРОИЗВ

 

qqq1507

Пользователь

Сообщений: 151
Регистрация: 23.04.2015

в ячейке С3 листа1 заменил формулу на

=СУММПРОИЗВ(—(Лист2!$B$1:$B$300=Лист1!A3);(Лист2!$A$1:$A$300))

и заработало. Но тем не менее не совсем понятно, почему не работал другой вариант. Если есть мысли буду благодарен. Все таки интересно.  А про макрос и суммесли написал дабы подтвердить актуальность названия темы :)

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

Я Вам написал, почему.
Первый массив — логические значения, при умножении на другой массив дает числа 1 и 0.
Второй массив — есть текстовые значения. Попробуйте:
=1*»g»

 

qqq1507

Пользователь

Сообщений: 151
Регистрация: 23.04.2015

Спасибо, не обратил внимание на Ваше предыдущее сообщение (его последнюю строку)

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

Вдруг непонятно: в ячейках столбца А Листа2 есть пустые значения — «». Видимо, диапазон копировался из другой программы.

 

qqq1507

Пользователь

Сообщений: 151
Регистрация: 23.04.2015

Да, так и есть, спасибо за разъяснения :)

 

Zhukov_K

Пользователь

Сообщений: 711
Регистрация: 30.03.2013

к слову СУММПРОИЗВ возвращает #ЗНАЧ! еще в тех случаях, если высота диапазонов указана неодинаковая
пример =СУММПРОИЗВ(—(A3:A6>2);B3:B7) вернет #ЗНАЧ!

 

Awallon

Пользователь

Сообщений: 47
Регистрация: 22.01.2019

Чтобы не множить однотипные темы, напишу тут же)

Всем привет!
У меня есть файл, в котором на одном листе данные в столбик, на другом — в строку. Мне нужно суммировать их произведения.
Ввожу функцию СУММПРОИЗВ и оно выводит #ЗНАЧ!.
Данные везде числовые. Кол-во ячеек в строках и столбцах — одинаковое.
Мои попытки в примере.
Помогите, пожалуйста, их перемножить :)

 

ТАНСПонируйте один из диапазонов

Изменено: Ігор Гончаренко08.06.2020 13:25:50

Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!

 

Awallon

Пользователь

Сообщений: 47
Регистрация: 22.01.2019

#10

08.06.2020 13:28:22

Цитата
Ігор Гончаренко написал:
ТАНСПонируйте один из диапазонов

В файле есть обе попытки ТРАНСПонировать один из диапазонов

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

Название темы должо отражать задачу. Ведь ищут в осеновном решение задач.
Создайте отдельную тему

 

Awallon

Пользователь

Сообщений: 47
Регистрация: 22.01.2019

#12

08.06.2020 13:34:03

Цитата
vikttur написал:
Название темы должо отражать задачу. Ведь ищут в осеновном решение задач.

Название темы: СУММПРОИЗВ возвращает #ЗНАЧ!, помогите найти ошибку
Это именно то, что мне нужно.

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

Ошибка может быть вызвана десятком причин в 10 разных задачах. Будем создавать мусорник в одной теме?
И Вам нужно не имено СУММПРОИЗВ, а решение Вашей конкретной здачи, не прада ли?

 

Awallon

Пользователь

Сообщений: 47
Регистрация: 22.01.2019

vikttur, я Вас не понимаю:
тема форума «СУММПРОИЗВ возвращает #ЗНАЧ!, помогите найти ошибку«
У меня функция СУММПРОИЗВ выводит ошибку #ЗНАЧ!
Я эту тему нашел на второй странице Яндекса.
На форуме я подобного не нашел.
Если у другого человека появится такая же проблема с этой ошибкой, он в этой теме сможет сразу увидеть несколько вариантов решения своей проблемы.
По Вашей версии, лучше создать новую тему, которая может быть через несколько лет будет выскакивать в первых строчках поисковиков и будет дублировать эту тему.
Я правильно понял?

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

#15

08.06.2020 14:15:42

Цитата
Awallon написал: Если у другого человека появится такая же проблема с этой ошибкой…

… он зайдет в эту тему и увидит десятка 3-4 сообщений с решеием разных причин возникновения ошибки. Хорошо, если найдет сразу. А так — полистает немного и уйдет.
А если искать решеие конкретной ЗА-ДА-ЧИ!, можно найти тему с решением не только с СУММПРОИЗВ, но и другими функциями , макросами и проч. Так где можно больше помощи получить?
Вы уверены, чтто Ваша здача решается ТОЛЬКО этой функцией? Не хотите увидеть других решений?

По моей версии — лучше создать тему с азвниекм, отражающим решаемую задачу

 

Ігор Гончаренко

Пользователь

Сообщений: 13746
Регистрация: 01.01.1970

#16

08.06.2020 14:16:45

Awallon,
когда вас спрашивают что за задачу вы решаете вас спрашивают ЧТО ЗА ЗАДАЧУ ВЫ РЕШАЕТЕ?
не на какие проблемы вы нарвались при решении придуманным вами способом, а КАКУЮ ЗАДАЧУ ВЫ РЕШАЕТЕ?

новую тему можно назвать так:

как умножить строку данных на столбец данных? — вот задача, которую вы решаете, так понятнее будет и это так трудно было из себя выдавить?

ответ:

Код
=МУМНОЖ(D1:F1;Лист1!A1:A3)

а формулы в G1, G3 введите тремя клавишами Ctrl+Shift+Enter — если без СУММПРОИЗВ вам жизнь не мила

а почему фнукция СУММПРОИЗВ возвращает #ЗНАЧ! написано в

описание функции СУММПРОИЗВ

, в разделе ПРИМЕЧАНИЯ
и возвращаясь к задаче которую вы решаете, вам было интересно узнать:

почему СУММПРОИЗВ возвращает #ЗНАЧ!?

или

как умножить строку данных на столбец данных?

Изменено: Ігор Гончаренко08.06.2020 14:31:02

Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!

Мешает текст в таблице при расчете формулы СУММПРОИЗВ

Anis625

Дата: Понедельник, 01.03.2021, 16:52 |
Сообщение № 1

Группа: Проверенные

Ранг: Ветеран

Сообщений: 670


Репутация:

31

±

Замечаний:
0% ±


Excel 2013

Добрый день, всем участникам форума
Первый раз столкнулся с ситуацией в расчете формулы СУММПРОИЗВ (относительно недавно начал чаще применять, благодаря этому форуму):
При наличии в таблице текстовых значений результат формулы #ЗНАЧ. Если использовать формулу массива то такая ошибка не выходит. На одном из дружественных форумов нашел решение прикрутить функцию Ч (первый раз о ней узнал), но все равно не корректно выдает результат.
Буду признателен за подсказку как правильно подправить безмассивную мою формулу

 

Ответить

Nic70y

Дата: Понедельник, 01.03.2021, 17:07 |
Сообщение № 2

Группа: Друзья

Ранг: Экселист

Сообщений: 8136


Репутация:

1999

±

Замечаний:
0% ±


Excel 2010

Код

=СУММПРОИЗВ(($A$3:$A$8=H11)*($B$1:$G$1=K$9)*($B$2:$G$2=K$10);$B$3:$G$8)


ЮMoney 41001841029809

 

Ответить

Anis625

Дата: Понедельник, 01.03.2021, 17:08 |
Сообщение № 3

Группа: Проверенные

Ранг: Ветеран

Сообщений: 670


Репутация:

31

±

Замечаний:
0% ±


Excel 2013

Nic70y,
Да лааааадно, и всё? Вот ведь. Спасибо Вам огромное!!!

 

Ответить


Функция

СУММПРОИЗВ()

, английская версия SUMPRODUCT(),

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

Существует несколько вариантов применения функции

СУММПРОИЗВ()

:

  • нахождение суммы произведений элементов списка (массива);
  • суммирование и подсчет значений, удовлетворяющих определенным критериям;
  • замена

    формул массива

    (в некоторых случаях).


Нахождение суммы произведений элементов массивов

В этом разделе показан синтаксис функции

СУММПРОИЗВ()

и раскрыт ее потенциал для других применений.

Пусть имеется 2 диапазона чисел

A3:A6

и

B3:B6

, содержащие соответственно 2

массива чисел

: {4:8:6:1} и {7:6:7:5}. Записав формулу

=СУММПРОИЗВ(A3:A6;B3:B6)

, получим 123. Результат получен поэлементным перемножением всех элементов двух массивов, а затем сложением полученных произведений. То есть были выполнены следующие арифметические действия: 4*7 + 8*6 + 6*7 + 1*5= 123

Таким образом, можно найти сумму произведений 3-х, 4-х и т.д. массивов.

Аргументы, которые являются массивами, должны иметь одинаковые размерности (в нашем случае это массивы по 4 элемента). В противном случае функция

СУММПРОИЗВ()

возвращает значение ошибки #ЗНАЧ!.

В формуле

=СУММПРОИЗВ(A3:A6;B3:B6)

функция

СУММПРОИЗВ()

трактует нечисловые элементы массивов как нулевые. Однако, как показано ниже, функцию можно использовать для подсчета текстовых значений.

Что произойдет если указать только 1 массив, т.е.

=СУММПРОИЗВ(A3:A6)

? Тогда функция

СУММПРОИЗВ()

вернет сумму элементов, т.е. будет эквивалентна функции

СУММ()

:

=СУММ(A3:A6)

.

Синтаксис функции

СУММПРОИЗВ()

позволяет не просто указывать в качестве аргумента определенный диапазон, но и осуществлять арифметические действия перед операцией суммирования. Например, записав:


  • =СУММПРОИЗВ(A3:A6*2)

    , получим сумму произведений =38 (каждый элемент массива из

    A3:A6

    был умножен на 2, затем все произведения просуммированы);

  • =СУММПРОИЗВ(A3:A6*B3:B6)

    , получим результат суммы произведений – 123 (все элементы массивов были попарно перемножены, а затем сложены, т.е. A3*B3+ A4*B4+ A5*B5+ A6*B6), т.е. эта запись эквивалента формула

    =СУММПРОИЗВ(A3:A6;B3:B6)

    ;

  • =СУММПРОИЗВ(A3:A6+B3:B6)

    , получим сумму элементов из двух диапазонов;

  • =СУММПРОИЗВ(A3:A6/B3:B6

    ), получим сумму попарных отношений всех элементов,  т.е. 4/7 + 8/6 + 6/7 + 1/5= 2,9619

Аналогичные вычисления можно выполнить и с функцией

СУММ()

, только для этого нужно ее ввести как

формулу массива

, т.е. после ввода функции в ячейку вместо

ENTER

нажать

CTRL+SHIFT+ENTER

:

=СУММ(A3:A6/B3:B6)

Прелесть функции

СУММПРОИЗВ()

в том, что после ввода функции в ячейку можно просто нажать

ENTER

, что снимает некий психологический барьер перед использованием

формул массива

.

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

A3:A6*B3:B6

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


Суммирование и подсчет значений удовлетворяющих определенным критериям

Попробуем подсчитать число значений больших 2 в диапазоне

A3:A6

, содержащий значения 4, 8, 6, 1.

Если мы запишем формулу

=СУММПРОИЗВ(A3:A6>2)

, то получим результат 0. Выделив в

Строке формул

A3:A6>2

и нажав клавишу

F9

, получим массив {ИСТИНА: ИСТИНА: ИСТИНА: ЛОЖЬ}, который говорит, что мы движемся в правильном направлении: в диапазоне

A3:A6

больше 2 только первые 3 значения. Хотя значению ИСТИНА соответствует 1, а ЛОЖЬ – 0, мы не получим 3, т.к. для перевода значений ИСТИНА/ЛОЖЬ в числовую форму требуется применить к ним арифметическую операцию. Для этого можно, например, применить операцию двойного отрицания (—), что позволит привести массив в числовую форму {1:1:1:0}.

Итак, задача подсчета значений больше 2 решается следующим образом:

=СУММПРОИЗВ(—(A3:A6>2))

Вместо двойного отрицания можно использовать другие формулы:

=СУММПРОИЗВ(1*(A3:A6>2))

или

=СУММПРОИЗВ(0+(A3:A6>2))

или даже так

=СУММПРОИЗВ((A3:A6>2)^1)

.

Запись >2 является критерием, причем можно указать любые операции сравнения (<; <=; >=; =).

Критерии можно указывать в форме ссылки:

=СУММПРОИЗВ(—(A3:A6>G8))

– ячейка

G

8

должна содержать число 2.

Критерии можно применять и к текстовым значениям, например,

=СУММПРОИЗВ(—(B3:B6=»яблоки»))

– вернет количество ячеек, содержащие слово

яблоки

(подробнее, например, в статье

Подсчет значений с множественными критериями (Часть 1. Условие И))

.

Функцию

СУММПРОИЗВ()

можно использовать для отбора значений по нескольким критериям (с множественными условиями). Как известно, 2 критерия могут образовывать разные условия:

  • Условие

    ИЛИ

    . Например, подсчитать ячеек содержащих значение

    яблоки

    ИЛИ

    груши

    =СУММПРОИЗВ((B3:B6=»яблоки»)+

    (B3:B6=»груши»)

    )

    ;
  • Условие

    И

    . Например, подсчитать количество значений больше 2 и меньше 5:

    =СУММПРОИЗВ((A3:A6>2)*

    (A3:A6<5)

    )
  • Условие

    И

    . Например, найти сумму Чисел больше 2 и меньше 5:

    =СУММПРОИЗВ((A3:A6>2)*

    (A3:A6<5)*(

    A3:A6

    )

    )

В

файле примера

приведены решения подобных задач.


СУММПРОИЗВ() – как формула массива

В ряде случаев (когда нужно подсчитать или сложить значения, удовлетворяющие определенным критериям) можно заменить использование

формул массива

функцией

СУММПРОИЗВ()

, например:


  • =СУММПРОИЗВ(—ЕПУСТО(D2:D23))

    подсчет

    пустых ячеек

    в диапазоне;


  • =СУММПРОИЗВ(НАИБОЛЬШИЙ(A:A;{1;2;3}))

    сумма 3-х наибольших значений

    ;


  • =СУММПРОИЗВ((A3:A6>СРЗНАЧ(A3:A6))*(A3:A6))

    сумма значений, которые больше

    среднего

    .


Совет

: Дополнительную информацию об этой функции можно

подчерпнуть здесь (английский язык).

Skip to content

Функция СУММПРОИЗВ с примерами формул

В статье объясняются основные и расширенные способы использования функции СУММПРОИЗВ в Excel. Вы найдете ряд примеров формул для сравнения массивов, условного суммирования и подсчета ячеек по нескольким условиям, расчета средневзвешенного значения и многое другое.

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

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

  • Функция СУММПРОИЗВ в Excel — синтаксис и использование
  • Логика работы СУММПРОИЗВ в Excel
  • Как работает СУММПРОИЗВ с несколькими условиями
  • Как работает формула СУММПРОИЗВ с одним условием
  • Как пересчитать, суммировать или найти среднее по нескольким условиям
  • 1. Формула с логикой И
  • 2. Формула с логикой ИЛИ
  • 3. Формула с логикой И и ИЛИ
  • Формула СУММПРОИЗВ для средневзвешенного значения
  • СУММПРОИЗВ как альтернатива формулам массива
  • Excel СУММПРОИЗВ — примеры расширенных формул

Функция СУММПРОИЗВ в Excel — синтаксис и использование

Технически функция СУММПРОИЗВ в Excel перемножает числа в указанных диапазонах и возвращает сумму этих произведений.

Синтаксис функции СУММПРОИЗВ прост и понятен:

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

Где массив1, массив2 и т. д. — это непрерывные диапазоны ячеек или массивов чисел, элементы которых вы хотите перемножить, а затем сложить.

Минимальное количество массивов равно 1. В этом случае формула СУММПРОИЗВ просто складывает все элементы и возвращает их сумму.

Максимальное количество массивов — 255 в Excel 365-2007 и 30 в более ранних версиях Excel.

Хотя СУММПРОИЗВ работает с массивами, она не требует использования формулы массива Ctrl + Shift + Enter. Вы вводите формулу обычным способом, нажимая клавишу Enter.

Примечания:

  • Все массивы в формуле СУММПРОИЗВ должны иметь одинаковое количество строк и столбцов, иначе вы получите ошибку #ЗНАЧ!.
  • Если какой-либо аргумент массива содержит нечисловые значения, они будут рассматриваться как нули.
  • Если массив является логическим тестом, он дает значения ИСТИНА и ЛОЖЬ. В большинстве случаев вам нужно преобразовать их в 1 и 0 с помощью двойного отрицания (—). 
  • СУММПРОИЗВ не поддерживает подстановочные знаки * и ?.

Логика работы СУММПРОИЗВ в Excel

Чтобы получить общее представление о том, как работает функция СУММПРОИЗВ в Excel, рассмотрим следующий пример.

Предположим, у вас есть количество товаров в ячейках A2:A4, их цены в ячейках B2:B4, и вы хотите узнать их общую стоимость. Если бы вы делали школьный тест по математике, вы бы умножали количество на цену каждого предмета, а затем складывали промежуточные итоги. В Microsoft Excel вы можете получить сумму произведений с помощью одной формулы:

=СУММПРОИЗВ(B2:B5;C2:C5)

Следующий скриншот показывает ее в действии:

Вот что происходит «под капотом» с точки зрения математики:

  • Формула берет 1-е число из 1-го массива (цену) и умножает его на 1-е число из 2-го массива (количество), затем берет 2-е число из 1-го массива и умножает его на 2 е число из 2-го массива, и так далее.
  • Когда все элементы перемножаются, формула суммирует произведения и возвращает итоговую сумму.

Другими словами, наша формула СУММПРОИЗВ выполняет следующие математические операции:

=С2*B2 + С3*B3 + С4*B4 + С5*B5

Как использовать СУММПРОИЗВ в Excel с условиями – примеры формул

Только подумайте, сколько времени вы могли бы сэкономить, если бы ваша таблица содержала не 4 строки данных, а сотни или тысячи строк!

Перемножение соответствующих значений двух или более диапазонов, а затем нахождение суммы этих произведений — это самое простое и наиболее очевидное использование СУММПРОИЗВ в Excel, хотя далеко не единственное. Главное достоинство этой функции заключается в том, что она может делать гораздо больше, чем ее обычные заявленные возможности. 

Далее в этом руководстве вы найдете несколько примеров формул, демонстрирующих более продвинутые и интересные способы использования, так что, пожалуйста, продолжайте читать.

Сумма произведений с несколькими условиями

Обычно в Microsoft Excel есть несколько способов выполнить одну и ту же задачу. Но когда дело доходит до сравнения двух или более массивов, особенно по нескольким условиям, СУММПРОИЗВ является наиболее эффективным, если не единственным решением. Ну, либо СУММПРОИЗВ, либо формула массива.

Предположим, что у вас есть список товаров в столбце A, запланированные данные о продажах в столбце B и фактические продажи в столбце C. Ваша цель — выяснить, сколько товаров из всего ассортимента продано меньше, чем планировалось. Для этого можно использовать один из следующих вариантов формулы СУММПРОИЗВ:

=СУММПРОИЗВ(—(C2:C10<B2:B10))

или

=СУММПРОИЗВ((C2:C10<B2:B10)*1)

Где C2:C10 — реальные продажи, а B2:B10 — запланированные продажи.

Но что, если у вас несколько условий? Допустим, вы хотите посчитать, сколько раз яблоки продавались хуже, чем планировалось. Решение состоит в том, чтобы добавить еще один критерий в формулу:

=СУММПРОИЗВ((C2:C10<B2:B10)*(A2:A10=»яблоки»))

Или вы можете использовать следующий синтаксис:

=СУММПРОИЗВ(—(C2:C10<B2:B10);—(A2:A10=»яблоки»))

А теперь давайте уделим минутку и ​​разберёмся, что на самом деле делают приведенные выше формулы. Я считаю, что это достойное вложение времени, потому что многие другие формулы СУММПРОИЗВ работают с той же логикой.

Как работает формула СУММПРОИЗВ с одним условием

Для начала давайте разберем более простой случай. Нужно сравнить числа в двух столбцах построчно и сообщить, сколько раз числа колонки C меньше, чем B (то есть, план продаж не выполнен):

=СУММПРОИЗВ(—(C2:C10<B2:B10))

Если вы выделите часть (C2:C10<B2:B10) в строке формул и нажмете F9, чтобы просмотреть вычисленные значения, вы увидите следующую картину:

=СУММПРОИЗВ(—({ЛОЖЬ:ИСТИНА:ЛОЖЬ:ЛОЖЬ:ИСТИНА:ЛОЖЬ:ИСТИНА:ЛОЖЬ:ЛОЖЬ}))

Здесь мы имеем массив логических значений ИСТИНА и ЛОЖЬ, где ИСТИНА означает, что указанное условие выполнено (т. е. значение в столбце С меньше значения в колонке В в той же строке), а ЛОЖЬ указывает, что условие не выполнено.

Двойное отрицание (—) преобразует логические значения ИСТИНА и ЛОЖЬ в единицы и нули: {0:1:0:0:1:0:1:0:0}.

Другой способ преобразовать логические значения в числа — умножить массив на 1:

=СУММПРОИЗВ((C2:C10<B2:B10)*1)

В любом случае, поскольку в данном случае в формуле СУММПРОИЗВ использован только один массив, она просто складывает единицы в результирующем массиве, и мы получаем желаемое количество. Несложно, не так ли?

Как работает формула СУММПРОИЗВ с несколькими условиями

Когда формула СУММПРОИЗВ Excel содержит два или более массивов, она перемножает соответствующие элементы всех массивов, а затем находит сумму этих произведений.

Как вы помните, мы использовали следующие формулы, чтобы узнать, во сколько раз количество реальных продаж (столбец C) было меньше запланированных продаж (столбец B) яблок (столбец A):

=СУММПРОИЗВ((C2:C10<B2:B10)*(A2:A10=»яблоки»))

или:

=СУММПРОИЗВ(—(C2:C10<B2:B10);—(A2:A10=»яблоки»))

Единственное техническое различие между этими формулами заключается в способе преобразования ИСТИНА и ЛОЖЬ в 1 и 0 с помощью двойного отрицания или операции умножения. В результате получаем два массива единиц и нулей:

=СУММПРОИЗВ({0:1:0:0:1:0:1:0:0};{1:1:0:0:0:0:0:0:0})

Операция умножения, выполняемая СУММПРОИЗВ, объединяет эти числа в один массив. А поскольку умножение на ноль всегда дает 0, а 1 появляется только при выполнении обоих условий, то, следовательно, учитываются только строки, в которых выполнены оба условия:

Как пересчитать, суммировать или найти среднее по нескольким условиям

В Excel 2003 и более ранних версиях, в которых ещё не было функций ЕСЛИ с условиями, одним из наиболее распространенных применений функции СУММПРОИЗВ было условное суммирование или подсчет ячеек с несколькими критериями. Начиная с Excel 2007, Microsoft представила серию функций, специально разработанных для таких задач, — СУММЕСЛИМН, СЧЁТЕСЛИМН и СРЗНАЧЕСЛИ.

Но даже в современных версиях Excel формула СУММПРОИЗВ может быть достойной альтернативой, например, для условного суммирования и подсчета ячеек с логикой ИЛИ. Ниже вы найдете несколько примеров формул, демонстрирующих эту способность в действии.

Формула СУММПРОИЗВ с логикой И

Предположим, у вас есть следующий набор данных, где в столбце A перечислены регионы, в столбце B — товары, а в столбце C — данные о продажах:

Вам нужно получить количество, сумму и среднее значение продаж яблок в северном регионе.

В последних версиях Excel 2016, 2013, 2010 и 2007 задачу можно легко выполнить с помощью формул СУММЕСЛИМН, СЧЁТЕСЛИМН и СРЗНАЧЕСЛИ. Если вы не ищете легких путей или все еще используете Excel 2003 или более раннюю версию, вы можете получить желаемый результат с помощью СУММПРОИЗВ.

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

  • Чтобы подсчитать количество продаж яблок для Севера :

=СУММПРОИЗВ(—(A3:A13=F2); —(B3:B13=F3))

  • Суммируем продажияблок для Севера:

=СУММПРОИЗВ(—(A3:A13=F2); —(B3:B13=F3); C3:C13)

  • Чтобы найти средний размер продажи яблок на Севере:

Чтобы вычислить среднее значение, мы просто делим сумму на количество следующим образом:

=СУММПРОИЗВ(—(A3:A13=F2); —(B3:B13=F3); C3:C13)/СУММПРОИЗВ(—(A3:A13=F2); —(B3:B13=F3))

Формула СУММПРОИЗВ с логикой ИЛИ

Напомним, что логика ИЛИ означает, что выполняется хотя бы одно из нескольких условий. Чтобы суммировать или подсчитывать ячейки с помощью логики ИЛИ, используйте знак плюс (+) между массивами.

В формулах СУММПРОИЗВ Excel, а также в формулах массива символ плюс действует как оператор ИЛИ, который указывает Excel вернуть ИСТИНА, если ЛЮБОЕ из условий в данном выражении оценивается как ИСТИНА.

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

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

=СУММПРОИЗВ((B3:B13=F2)+(B3:B13=H2))

Она означает следующее: подсчитывать ячейки, если B3:B13=»апельсины» ИЛИ B3:B13=»лимоны».

Чтобы найти общие продажи апельсинов и лимонов , добавьте еще один аргумент, содержащий диапазон продаж :

=СУММПРОИЗВ((B3:B13=F2)+(B3:B13=H2); C3:C13)

Формула СУММПРОИЗВ с логикой И и ИЛИ

Во многих ситуациях вам может понадобиться условно подсчитать или суммировать ячейки с помощью логики И и ИЛИ одновременно. Даже в последних версиях Excel серия функций ЕСЛИ на это не способна.

Одним из возможных решений является объединение двух или более функций СУММЕСЛИМН+СУММЕСЛИМН или СЧЁТЕСЛИМН+СЧЁТЕСЛИМН .

Другой способ — использовать функцию СУММПРОИЗВ Excel, где:

  • Знак умножения (*) используется как оператор И.
  • Плюс (+) используется как оператор ИЛИ.

Для лучшего понимания, рассмотрим следующие примеры.

Чтобы сделать формулы немного более компактными, вы можете записать переменные в отдельные ячейки — «Регион» в F1 и «Товары» в F2 и H2 — и ссылаться на них в своей формуле:

Сосчитаем, сколько раз яблоки и лимоны были проданы в Северном регионе. Для этого составим формулу со следующей логикой:

=СУММПРОИЗВ((A3:A13=F2)*((B3:B13=F3)+(B3:B13=H3)))

Чтобы суммировать продажи яблок и лимонов в Северном регионе, возьмите приведенную выше формулу и добавьте массив Продажи с логикой «И»:

=СУММПРОИЗВ((A3:A13=F2)*((B3:B13=F3)+(B3:B13=H3))*C3:C13)

Формула СУММПРОИЗВ для средневзвешенного значения

 Еще одним распространенным использованием СУММПРОИЗВ в Excel является вычисление средневзвешенного значения, где каждому числу присваивается определенный вес.

Общая формула СУММПРОИЗВ для средневзвешенного значения выглядит следующим образом:

СУММПРОИЗВ( значения ; веса )/СУММ( веса )

Если предположить, что значения находятся в ячейках B2:B7, а веса — в ячейке C2:C7, формула средневзвешенного СУММПРОИЗВ будет выглядеть следующим образом:

=СУММПРОИЗВ(B2:B7;C2:C7)/СУММ(C2:C7)

Думаю, на этом этапе у вас не возникнет трудностей с пониманием логики формулы. Находим сумму произведений процента выполнения на коэффициент важности и делим на сумму коэффициентов важности.

СУММПРОИЗВ как альтернатива формулам массива

Даже если вы читаете эту статью в ознакомительных целях и детали, скорее всего, потускнеют в вашей памяти, помните только один ключевой момент — функция СУММПРОИЗВ в Excel работает с массивами. 

Какие преимущества это дает вам? По сути, вы сможете легко управлять своими формулами, не нажимая Ctrl + Shift + Enter каждый раз, когда вы вводите новую или редактируете существующую формулу массива.

В качестве примера мы можем взять простую формулу массива, которая подсчитывает все символы в заданном диапазоне ячеек. Более подробно этот пример рассмотрен в статье Как посчитать количество знаков в Excel.

=СУММПРОИЗВ(ДЛСТР( диапазон ))

или

=СУММПРОИЗВ(ДЛСТР(A2:A5))

Функция ДЛСТР в результате обработки диапазона ячеек возвращает массив значений – число символов в каждой из ячеек. Далее СУММПРОИЗВ складывает эти элементы массива и возвращает общее количество символов.

Excel СУММПРОИЗВ — примеры расширенных формул

Теперь, когда вы знаете синтаксис и логику функции СУММПРОИЗВ в Excel, вы можете изучить более сложные и более мощные формулы, в которых СУММПРОИЗВ используется совместно с другими функциями Excel.

Вот как мы это уже делали в более ранних публикациях на нашем сайте:

  • СУММПРОИЗВ для ВПР по нескольким критериям — как выполнять поиск по нескольким критериям и возвращать совпадающие числа. 
  • «Левый» ВПР для числовых значений – извлекаем из столбца слева от столбца поиска числовые значения и суммируем их.
  • Как подсчитать символы в Excel — формулы для подсчета всего или только определенных символов в диапазоне.
  • СУММПРОИЗВ для подсчета слов в Excel — формулы для получения общего количества слов в определенном диапазоне или подсчета только определенных слов.
  • Как подсчитать различные значения — узнайте, сколько разных значений появляется в диапазоне (уникальных плюс первые повторяющиеся вхождения).
  • Подсчет дубликатов и уникальных значений — формула СУММПРОИЗВ / СЧЁТЕСЛИ для подсчета дубликатов и уникальных значений в столбце или между двумя столбцами.
  • Извлечение только чисел из буквенно-цифровых строк — СУММПРОИЗВ в сочетании с 7 другими функциями извлекает все числа из строки число-текст-число.

Понравилась статья? Поделить с друзьями:
  • Суммпроизв в excel значение
  • Суммирование текстовых ячеек в excel
  • Суммировать ячейки в диапазоне с условием excel
  • Суммпроизв в excel для чего
  • Суммирование текста в ячейках excel