Excel формула сумма произведений если

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Еще…Меньше

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

В этом примере мы используем СУММПРОИВ для возврата общего объема продаж для данного элемента и его размера:

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

SumPRODUCT соответствует всем экземплярам элемента Y/Size M и суммирует их, поэтому в данном примере «21 плюс 41» равен 62.

Синтаксис

Чтобы использовать операцию по умолчанию (умножение):

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

Аргументы функции СУММПРОИЗВ описаны ниже.

Аргумент

Описание

массив1   

Обязательно

Первый массив, компоненты которого нужно перемножить, а затем сложить результаты.

[массив2], [массив3],…    

Необязательно

От 2 до 255 массивов, компоненты которых нужно перемножить, а затем сложить результаты.

Выполнение других арифметических операций

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

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

Примечания

  • Аргументы, которые являются массивами, должны иметь одинаковые размерности. В противном случае функция СУММПРОИЗВ возвращает значение ошибки #ЗНАЧ!. Например, =СУММПРОИВ(C2:C10;D2:D5) возвращает ошибку, так как диапазоны не одного размера.

  • В функции СУММПРОИВТ ненумерические записи массива обрабатывают их так, как если бы они были нулями.

  • Для лучшей производительности не следует использовать суммпроив с полными ссылками на столбцы. Рассмотрим функцию =СУММПРОИВ(A:A;B:B), чтобы умножить 1 048 576 ячеек в столбце A на 1 048 576 ячеек в столбце B перед их добавлением. 

Пример 1

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

Чтобы создать формулу на примере выше, введите =СУММПРОИВ(C2:C5;D2:D5) и нажмитеввод . Каждая ячейка в столбце C умножается на соответствующую ячейку в той же строке столбца D, и результаты сбавляются. Общая сумма продуктов составляет 78,97 долларов США.

Чтобы ввести более длинную формулу, которая дает такой же результат, введите =C2*D2+C3*D3+C4*D4+C5*D5 и нажмите ввод . После нажатия ввод результат будет таким же: 78,97 долларов США. Ячейка C2 умножается на D2, а ее результат добавляется к результату ячейки C3, умноженной на ячейку D3 и так далее.

Пример 2

В следующем примере sumPRODUCT возвращает суммарные чистую сумму продаж по агенту продаж, у которых есть как общие продажи, так и расходы по агенту. В этом случае мы используем таблицу Excel, в которой используются структурированные ссылки вместо стандартных Excel диапазонов. Здесь вы увидите, что диапазоны «Продажи», «Расходы» и «Агент» имеют ссылку по имени.

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

Формула: =СУММПРОИМ(((Таблица1[Продажи])+(Таблица1[Расходы]))*(Таблица1[Агент]=B8)) и возвращает сумму всех продаж и расходов агента, указанных в ячейке B8.

Пример 3

В этом примере мы хотим получить общую сумму по конкретному товару, проданного в конкретном регионе. В данном случае, сколько вишней было продается в восточном регионе?

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

Вот формула: =СУММПРОИВ((B2:B9=B12)*(C2:C9=C12)*D2:D9). Сначала оно умножает количество вхождений восточного на количество совпадающих вишней. Наконец, она суммирует значения соответствующих строк в столбце Продажи. Чтобы узнать, Excel вычисляет формулу, выйдите из ячейки формулы, а затем перейдите в > Вычислить формулу >.

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

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

См. также

Выполнение условных вычислений в диапазонах ячеек

Сумм на основе нескольких критериев с помощью СУММЕ ЕСЛИМЕСЯ

Подсчет на основе нескольких критериев с помощью функции СЧЁТЕФС

Среднее значение на основе нескольких критериев с помощью функции ССВЕIFS

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

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

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

Синтаксис СУММПРОИЗВ

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

Простейший пример использования функции

Чтобы стало понятно, как и что считает команда, рассмотрим простой пример. Имеем таблицу с указанными длинами и ширинами прямоугольников. Нам нужно сосчитать сумму площадей всех прямоугольников. Если не пользоваться данной функцией, придется произвести промежуточные действия и сосчитать площадь каждого прямоугольника, а только потом сумму. Как мы и сделали.

Сумма площадей.
СУММПРОИЗВ.

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



СУММПРОИЗВ с условием

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

Рассмотрим пример. Имеем таблицу затрат небольшой компании за один расчетный месяц. Необходимо сосчитать общую сумму потраченных средств за январь и февраль по всем статьям расходов.

Для расчета затрат по канцелярии в январе-месяце, используем нашу функцию и указываем в начале 2 условия. Каждое из них заключаем в скобки, а между ними ставим знак «звездочка», подразумевающий союз «и». Получаем следующий синтаксис команды:

Расходы.

  • (А:А=»Январь») – первое условие;
  • (Е:Е=»канцелярия») – второе условие;
  • D:D – массив, из которого выводится итоговая сумма.

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

Пример.

Сравнение в СУММПРОИЗВ

Одним из условий при использовании команды СУММПРОИЗВ может быть сравнение. Рассмотрим сразу на примере. Предположим, что нам нужно сосчитать не просто все расходы по канцелярии за январь, а только те, которые составляли меньше 1000 рублей (назовем их «мелкие расходы»). Прописываем функцию с теми же аргументами, но дополнительно проставляем оператор сравнения. В данном случае он выглядит как D:D<=1000. Команда выдает ответ: 1000.

Сравнение.

И действительно, это та самая тысяча, которая была потрачена в январе на карандаши. Мы задали дополнительно условие сравнения, и при автоматическом возврате значения суммы функция выдала нам такой ответ.

Пример1.

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

Протянем формулу на остальные ячейки, частично заменив данные. Видим, сколько денег ушло в январе и феврале на мелкие расходы по каждой статье затрат.

Функция СУММПРОИЗВ() — Сложение и подсчет с множественными условиями в MS EXCEL

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

​ содержащие слово яблоки​ к массивам операции​

  • ​ только 1 массив,​Функция СУММПРОИЗВ(), английская версия​
  • ​ число даст?​buchlotnik​
  • ​ только если соблюдена​ рассчитанное для чисел​

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

​ 4-х задач является​ нахождение сумм ящиков​ Строке формул A2:A13=D2,​ с товаром персики​

​ всех данных.​ количество приобретенных товаров.​​=СУММПРОИЗВ((B2:B8=C12)*(C2:C8=C11)*(D2:D8>=C13)*(D2:D8 Получится так.​​ С12, т.е. в​ столбца А с​ (подробнее, например, в​ сравнения, т.е. использовать​ т.е.=СУММПРОИЗВ(A3:A6)? Тогда функция​ SUMPRODUCT(), не так​Сергей​: регистр имеет значение,​ строгая пунктуация СУММПРОИЗВ​ в массиве. Пример​ применение Автофильтра.​ только тех партий​ а затем нажав​ (ячейка​

​A​Чтобы создать формулу, введите​Обратите внимание​ диапазоне «менеджер» искать​

​ данными столбца В​ статье Подсчет значений​ ее для сложения​ СУММПРОИЗВ() вернет сумму​ проста, как кажется​: Я в массивах​ дата — это​ (только через​

​ прилагаю.​Для решения 3-й задачи​ товаров, у которых​F9​D2​B​=СУММПРОИЗВ(B3:B6,C3:C6)​

​.​ слово «Васечкин». Подправляем​ (1*2, 3*4, 5*6)​ с множественными критериями​ чисел, удовлетворяющих определенным​ элементов, т.е. будет​ с первого взгляда:​

​ не селен.​ не текст, и​, а также​Владимир​ таблица с настроенным​ количество ящиков попадает​;​

  • ​), у которых остаток​D​и нажмите клавишу​​В формуле перед​​ формулу – эту​ и, затем, все​ (Часть 1. Условие​
  • ​ условиям.​ эквивалентна функции СУММ():​ помимо собственно нахождения​Пробовал просит значение.​ т.д.​ есть только одно​: Можно вставить ЕЧИСЛО(),​ автофильтром выглядит так​ в определенный интервал,​
  • ​Результатом вычисления B2:B13 является​ ящиков на складе​
  • ​E​ ВВОД.​ датой начала периода​ часть формулы заключаем​ результаты сложить. В​

​ И)).​Попробуем подсчитать число значений​ =СУММ(A3:A6).​ суммы произведений, эта​Можно на примере​=СУММПРОИЗВ((G1:G17=B3)*(F1:F17=СТРОЧН(B$4))*(ТЕКСТ(H1:H17;»ММММ»)=ПРОПНАЧ(B$6))*(ГОД(H1:H17)=C$6))​ условие. Не универсальная​ ЕСЛИОШИБКА().​​ (см. файл примера​​ например от 5​​ массив {3:5:11:98:4:8:56:2:4:6:10:11}, т.е.​​ >=6 (ячейка​

​3​Каждое значение в столбце​ ставим не просто​ в круглые скобки​ ячейку С 21​​Функцию СУММПРОИЗВ() можно использовать​​ больших 2 в​Синтаксис функции СУММПРОИЗВ() позволяет​ функция может использоваться​

​ показать?​Cactus​ функция​Tatirus​ Лист 2 Даты).​ до 20 (см.​ просто значения из​E2​4​ B будет умножено​ «равно», а «больше»​ и ставим знак​

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

​ устанавливаем функцию.​ для отбора значений​ диапазоне​​ не просто указывать​​ для подсчета и​vikttur​

​: Спасибо огромное, а​Юрий М​: Получилось вставить ЕЧИСЛО()​Предварительно таблицу нужно преобразовать​ файл примера Лист​ столбца​​). Мы должны получить​​2​ на значение в​ и «равно». Перед​ «*» (умножить).​На закладке «Формулы»​ по нескольким критериям​​A3:A6​​ в качестве аргумента​ суммирования значений на​: Вы о функции​ каким образом можно​: Tatirus, да сколько​ под функцию СУММПРОИЗВ…​ в формат таблиц​ 2Числа).​B​ результат 64. Подсчет​7​ той же строке​ датой окончания периода​C2:C8=C11 – это​ в разделе «Библиотека​ (с множественными условиями).​, содержащий значения 4,​

​ определенный диапазон, но​ основе критериев, а​ уже прочитали? И​

​ получить информацию за​ же можно Вам​ Но решение формула​ MS EXCEL 2007​Формулы строятся аналогично задаче​

​;​ можно реализовать множеством​8​ столбца C, а​

​ ставим «меньше» и​ означает, что в​ функций» нажимаем на​​ Как известно, 2​​ 8, 6, 1.​ и осуществлять арифметические​

​ также, в некоторых​ попробовали применить? В​ весь год, за​ про цитирование говорить?​ выдала неверное…​ и включить строку​ 1: =СУММЕСЛИМН(B2:B13;B2:B13;»>=»&D2;B2:B13;»​Результатом поэлементного умножения массивов​ формул, приведем несколько​6​

​ произведения будут суммированы.​ «равно».​ диапазоне С2:С8 нужно​ кнопку «Математические» и​ критерия могут образовывать​Если мы запишем формулу​ действия перед операцией​

  • ​ случаях, избавить от​​ справке после описания​​ все время.​ Уже и себя​V​
  • ​ Итогов.​​Примечание​​ (A2:A13=D2)*(B2:B13) является {0:0:0:0:4:8:56:0:0:0:0:0}.​ (см. файл примера​6​ Общая стоимость приобретенных​
  • ​В Excel можно​​ искать то, что​​ выбираем функцию «СУММПРОИЗВ».​ разные условия:​ =СУММПРОИЗВ(A3:A6>2), то получим​ суммирования. Например, записав:​

​ необходимости применений формул​ нормальный пример есть…​

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

​Che79​ цитируете…​: =СУММ(C2:C9*(B2:B9>2)*ЕСЛИ(ЕЧИСЛО(B2:B9);B2:B9;0)) формула массива.​Verniy55​: для удобства, строки,​ При умножении числа​ Лист Текст и​

  • ​7​ товаров составит 21,60 р.​
  • ​ вставить ссылки не​ написано в ячейке​
  • ​Диалоговое окно заполнили​Условие​

​ результат 0. Выделив​​=СУММПРОИЗВ(A3:A6*2), получим сумму произведений​ массива.​

excel2.ru

«СУММПРОИЗВ» в Excel.

​Сергей​​:​ ​п. 4.2​​Tatirus​: Доброго времени суток​ участвующие в суммировании,​ на значение ЛОЖЬ​​ Число):​ ​1​​Чтобы написать формулу более,​ только на конкретный​
​ С11. Эту часть​ так.​​ИЛИ​​ в Строке формул​ =38 (каждый элемент​
​Существует несколько вариантов применения​: А как сделать​Cactus​insalin​: Спасибо. А без​ !​ выделены Условным форматированием​ получается 0; а​
​1. =СУММЕСЛИМН(B2:B13;A2:A13;D2;B2:B13;»>=»&E2)​9​ которое дает такой​ диапазон, но и​ формулы тоже заключаем​
​Нажимаем «ОК». Получилось так.​. Например, подсчитать ячеек содержащих​​ A3:A6>2 и нажав​
​ массива из​ функции СУММПРОИЗВ():​ чтоб при условии​
​, альтернативный вариант сводной.​: Добрый день, подскажите,​ формулы массива выхода​Такая непростая задачка:​ с правилом =И($B2>=$D$2;$B2​
​ на значение ИСТИНА​Синтаксис функции:​5​ же результат, введите​ на динамический диапазон.​ в круглые скобки.​В строке формул смотрим​ значение яблоки ИЛИ​ клавишу​A3:A6​нахождение суммы произведений элементов​
​ в диапазоне C:C​ Группировка «Месяцы -​ ​ как можно реализовать​​ нет? Не ручаюсь​
​ мне необходимо подсчитать​
​Другой задачей может быть​
​ (=1) получается само​СУММЕСЛИМН(интервал_суммирования;интервал_условия1;условие1;интервал_условия2; условие2…)​3​= B3 *​ Настроить таблицу так,​Получится такая формула.​ на формулу, которая​
​ груши =СУММПРОИЗВ((B3:B6=»яблоки»)+(B3:B6=»груши»));​F9​был умножен на​ списка (массива);​ все ячейки которые​
​ Годы» + Подытог​ 2 функции в​​ за неопытных пользователей​ сумму произведений продаж​ нахождение суммарных продаж​
​ число;​B2:B13 Интервал_суммирования​
​Формула​ C3 + B4​ что она будет​ =СУММПРОИЗВ((B2:B8=C12)*(C2:C8=C11);E2:E8)​ получилась.​Условие​, получим массив {ИСТИНА:​ 2, затем все​суммирование и подсчет значений,​ >0 умножались на​ по годам и​ одной: суммпроизв и​ файла​
​ фруктов на оборот​ за период (см.​Разберем второе условие: Результатом​   — ячейки для​Результат​ * C4 +​ считать последние свежие​После правки формулы,​
​Так работает эта​И​
​ ИСТИНА: ИСТИНА: ЛОЖЬ},​ произведения просуммированы);​
​ удовлетворяющих определенным критериям;​ на цену в​ Итог за всё​ суммесли. Задача такая:​Михаил С.​ каждого магазина/сумму оборота​ файл примера Лист​ вычисления —(B2:B13>=E2) является​ суммирования, включающих имена,​’=СУММПРОИЗВ(A2:B4,D2:E4)​
​ B5 * C5​ данные, которые добавляются​ нажимаем «Enter».​ функция. Но, можно​. Например, подсчитать количество​ который говорит, что​=СУММПРОИЗВ(A3:A6*B3:B6), получим результат суммы​
​замена формул массива (в​
​ соответствии строки?​ ​ время.​​ при выполненнии условия,​
​: =СУММПРОИЗВ(B2:B9;(C2:C9)*($B$2:$B$9>2)) или =СУММПРОИЗВ(B2:B9;C2:C9;Ч($B$2:$B$9>2))​ по магазинам, с​ «2 Даты»). Используем​ массив {0:0:1:1:0:1:1:0:0:1:1:1}. Значения в столбце​ массивы или ссылки,​=СУММПРОИЗВ(A2:B4,D2:E4)​ + B6 *​ в таблицу. Настроить​Посчитались суммы яблок из​ применить эту функцию,​ значений больше 2​
​ мы движемся в​
​ произведений – 123​​ некоторых случаях).​
​vikttur​​Nic70y​ нужно просуммировать не​​Tatirus​ условием, что если​ другую исходную таблицу​ «Количество ящиков на​ содержащие числа. Пустые​Перемножает все компоненты двух​
​ C6 и нажмите​

СУММПРОИЗВ в Excel. ​ график так, что​​ ячеек С2 и​
​ чтобы она складывала​ и меньше 5:​ правильном направлении: в​ (все элементы массивов​В этом разделе показан​: Для функции пустая_ячейка=0.​: для русской версии​ просто ячейку, а​
​: Михаил, спасибо большое!​ поле продаж фруктов​ со столбцами Дата​ складе», которые удовлетворяют​ значения и текст​ массивов (A2:B4 и​ клавишу ВВОД.​ в нем будут​ С5. А яблоки​ выборочные данные.​ =СУММПРОИЗВ((A3:A6>2)*(A3:A6​ диапазоне​ были попарно перемножены,​ синтаксис функции СУММПРОИЗВ()и​ Что Вы ждете​=СЧЁТЕСЛИМН(F$1:F$17;B$4;G$1:G$17;B2;H$1:H$17;»>=»&ЕСЛИ(B$6=»за весь год»;»1.»;ЛЕВБ(B$6;3))&C$6;H$1:H$17;»про все​ произведение ячейки одного​ Никогда не применяла​

excel-office.ru

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

​ будет равно 0​​ продажи и Объем​ критерию >=E2 (т.е.​ игнорируются.​ D2:E4) и возвращает​После нажатия клавиши ВВОД​ автоматически добавляться и​ зеленые и красные​Не числовые данные​Условие​A3:A6​ а затем сложены,​ раскрыт ее потенциал​ от суммы 1*0+1*1?​ время забылКод=ЕСЛИ(C$6=»за все​ диапазона на ячейку​ функцию Ч, ничего​ то это поле​ продаж.​ >=6) соответствуют 1;​A2:A13 B2:B13 Интервал_условия1; интервал_условия2;​ сумму произведений — т. е.​

​ будет выведен такой​ отражаться последние данные.​ яблоки не посчитались.​ (текст, напирмер) функция​И​больше 2 только​ т.е. A3*B3+ A4*B4+​ для других применений.​

​Еще раз: Вы​ время»;СЧЁТЕСЛИМН(F$1:F$17;B$4;G$1:G$17;B2);СЧЁТЕСЛИМН(F$1:F$17;B$4;G$1:G$17;B2;H$1:H$17;»>=»&ЕСЛИ(B$6=»за весь год»;»1.»;ЛЕВБ(B$6;3))&C$6;H$1:H$17;»​ другого диапазона.​ не знала о​ не учитывать и​Формулы строятся аналогично задаче​

Значения цен и количеств приобретенных товаров будут перемножены, а их произведения будут суммированы

  1. ​Далее, функция СУММПРОИЗВ() попарно​​ …​​ 3*2 + 4*7​ же результат: 21,60 р.​

​ Как для этого​ Это недостаток этой​ обозначает нулем, если​. Например, найти сумму​ первые 3 значения.​ A5*B5+ A6*B6), т.е.​Пусть имеется 2 диапазона​ пытались применить функцию?​

  1. ​SERG69​sva​ ней! Замечательно!!​​ не учитывать оборот​ 2: =СУММЕСЛИМН(B6:B17;A6:A17;»>=»&D6;A6:A17;»​ перемножает элементы массивов​   представляют собой от​ + 8*6 +​ Значение в ячейке​ настроить таблицу, смотрите​

​ функции, п. ч.​ не соответствуют условиям,​ Чисел больше 2​ Хотя значению ИСТИНА​ эта запись эквивалента​ чисел​ Покажите.​: Доброго времени всем!​: СУММПРОИЗВ((B13=$B$5:$B$9);($C$5:$C$9*$D$5:$D$9))​Tatirus​ этого магазина в​Примечание​ и суммирует полученные​ 1 до 127​ 6*7 + 1*5​

​ B3 будет умножено​​ в статье «Функция​

  • ​ нельзя применить символы,​ и единицей, если​ и меньше 5:​

  • ​ соответствует 1, а​ формула =СУММПРОИЗВ(A3:A6;B3:B6);​A3:A6B3:B6​Похоже, что нет,​

Пример

​ Помогите советом, примером,​insalin​: Очень интересно работает​ сумме знаменателя.​. Даты могут быть​ произведения. Получаем –​

​ диапазонов, в которых​ + 9*3 (156).​ на значение в​ «СМЕЩ» в Excel».​ которые позволили бы​ отвечают условиям в​ =СУММПРОИЗВ((A3:A6>2)*(A3:A6​ ЛОЖЬ – 0,​=СУММПРОИЗВ(A3:A6+B3:B6), получим сумму элементов​, содержащие соответственно 2​ если спрашиваете о​ формулой, вообщем всем​

​: Подставила. почему то​

​ функция Ч. Если​

​Возможно ли реализовать​

​ представлены в числовой​

​ 64.​

​ проверяется соответствующее условие.​

​Для полный качества также​

​ ячейке C3, к​

​Примечание:​

​ посчитать все яблоки.​

​ формуле. И ячейки​

​В файле примера приведены​

​ мы не получим​

​ из двух диапазонов;​

​ массива чисел: {4:8:6:1}​

​ нулевых.​

​ чем можете.​

​ показывает только нули…​

​ ее использовать просто​

​ такую формулу ?​

​ форме см. статью​3. Другим вариантом использования​D2 «>=»&E2 Условие1; условие2;​ можно открыть эту​ результату будет добавлено​Мы стараемся как​Но, есть функция,​ с единицами и​

​ решения подобных задач.​ 3, т.к. для​=СУММПРОИЗВ(A3:A6/B3:B6), получим сумму попарных​ и {7:6:7:5}. Записав​Сергей​Ситуация такова:​Значок Excel в Excel Web App​ :(​ для суммы произведений​Более подробно изложил​ Как Excel хранит​

​ функции СУММПРОИЗВ() является​

support.office.com

Функция СУММЕСЛИМН() Сложение с несколькими критериями в MS EXCEL (Часть 2.Условие И)

​ …​ книгу в Excel.​ произведение значений в​ можно оперативнее обеспечивать​ в которую можно​ числами в ячейках​В ряде случаев (когда​ перевода значений ИСТИНА/ЛОЖЬ​ отношений всех элементов, ​ формулу =СУММПРОИЗВ(A3:A6;B3:B6), получим​

​: Вы таблицу видели?​Возможно сделать так​sva​ без условий =СУММПРОИЗВ((Ч(B2:B9)*(C2:C9)))​ в приложенном файле.​ дату и время​ формула =СУММПРОИЗВ((A2:A13=D2)*(B2:B13)*(B2:B13>=E2)).​

Задача1 (1 текстовый критерий и 1 числовой)

​   представляют собой от​ Просто щелкните значок​​ ячейках B4 и​​ вас актуальными справочными​ вставить символы и​ напротив них, умножает​ нужно подсчитать или​ в числовую форму​ т.е. 4/7 +​​ 123. Результат получен​​Сергей​ чтоб в столбце​: Так должно работать​​то выдается неверно​​Rustem​При необходимости даты могут​4. Формула массива =СУММ((A2:A13=D2)*(B2:B13)*(B2:B13>=E2))​ 1 до 127​ Excel в правом​ C4 и т. д.​ материалами на вашем​

​ посчитать все яблоки.​

​ и, затем, складывает.​​ сложить значения, удовлетворяющие​

  • ​ требуется применить к​​ 8/6 + 6/7​ поэлементным перемножением всех​: Нужно чтоб ячейки​ «С» вводить количество​СУММПРОИЗВ(—(B13=$B$5:$B$9);($C$5:$C$9*$D$5:$D$9))​ решение (24 вместо​
  • ​: В знаменатель такую​ быть введены непосредственно​​ похожа на вышеупомянутую​ условий в виде​ нижнем углу книги​ Как видите, при​
  • ​ языке. Эта страница​ Смотрите статью «Суммирование​​Примеры практического применения функции​ определенным критериям) можно​ ним арифметическую операцию.​ + 1/5= 2,9619​ элементов двух массивов,​ столбца «С», которым​ товара, потом чтоб​

​insalin​ 39). Как она​ формулу:​ в формулу =СУММЕСЛИМН(B6:B17;A6:A17;»>=15.01.2010″;A6:A17;»​​ формулу =СУММПРОИЗВ((A2:A13=D2)*(B2:B13)*(B2:B13>=E2)) После​​ числа, выражения, ссылки​, сохраните файл​ большом количестве строк​ переведена автоматически, поэтому​ ячеек в Excel​ «СУММПРОИЗВ» в​ заменить использование формул​ Для этого можно,​Аналогичные вычисления можно выполнить​

​ а затем сложением​
​ присвоено, значение умножались​ количество умножалось на​

  • ​: Ура! Все отлично.​ срабатывает в данном​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=($C$13*(—(C4<>0))+$C$14*(—(G4<>0))+$C$15*(—(K4<>0)))​Чтобы вывести условия отбора​​ ее ввода нужно​​ на ячейку или​ в удобном месте​ функция СУММПРОИЗВ может​ ее текст может​ по условию».​​Excel​​ массива функцией СУММПРОИЗВ(),​
  • ​ например, применить операцию​ и с функцией​ полученных произведений. То​ на цени в​​ цену в той​​ А что это​
  • ​ случае??​_Boroda_​ в текстовой строке​ вместо​ текста, определяющих, какие​ на вашем компьютере​ значительно упростить работу.​ содержать неточности и​
  • ​Второй способ.​.​ например:​ двойного отрицания (—),​ СУММ(), только для​ есть были выполнены​ соответствии им, потом​
  • ​ строке где было​ значит «—» перед​V​: Посмотрите такой вариант​ используейте формулу =»Объем​

​ENTER​ ячейки будут просуммированы.​ и откройте ее.​

​Примечания:​ грамматические ошибки. Для​Функция «СУММПРОИЗВ» в​Первый способ.​=СУММПРОИЗВ(—ЕПУСТО(D2:D23)) подсчет пустых ячеек​​ что позволит привести​​ этого нужно ее​​ следующие арифметические действия:​

​ суммировались в ячейку​ введено значение а​ скобкой? Это какая-то​

​: Формулы — Вычислить​ для каждого овощефрукта​ продаж за период​нажать​Порядок аргументов различен в​К началу страницы​ ​ нас важно, чтобы​Excel с датами​Таблица такая.​ в диапазоне;​ массив в числовую​​ ввести как формулу​​ 4*7 + 8*6​

​ «D2».​​ потом это все​ неучтенная возможность Excel?​ формулу. Увидите как​Verniy55​

Задача2 (2 числовых критерия)

​ с «&ТЕКСТ(D6;»дд.ММ.гг»)&» по​CTRL+SHIFT+ENTER​ функциях СУММЕСЛИМН() и​Произведем сложение значений находящихся​Столбцы или строки (массивы)​ эта статья была​.​Нам нужно сложить суммы,​=СУММПРОИЗВ(НАИБОЛЬШИЙ(A:A;{1;2;3})) сумма 3-х наибольших​ форму {1:1:1:0}.​

​ массива, т.е. после​ + 6*7 +​

​vikttur​​ суммировалось в одной​ ;)​ она работает.​: Всем спасибо за​

Задача3 (2 критерия Дата)

​ «&ТЕКСТ(E6;»дд.ММ.гг»)​5. Формула массива =СУММ(ЕСЛИ((A2:A13=D2)*(B2:B13>=E2);B2:B13)) представляет​ СУММЕСЛИ(). В СУММЕСЛИМН()​ в строках, поля​ должны быть одинаковой​ вам полезна. Просим​Если нужно сложить​ проданных яблок менеджером​ значений;​

​Итак, задача подсчета значений​ ввода функции в​

​ 1*5= 123​​: Да видел я,​ ячейке?​sva​Tatirus​ помощь !​

​В последней формуле использован​ еще один вариант​ аргумент​

​ которых удовлетворяют сразу​ длины.​ вас уделить пару​ данные из таблицы​ Васечкиным. Здесь два​=СУММПРОИЗВ((A3:A6>СРЗНАЧ(A3:A6))*(A3:A6)) сумма значений, которые​

​ больше 2 решается​ ячейку вместо​

Задача4 (Месяц)

​Таким образом, можно найти​ видел. И файл​Умножение с условием​: Ну, если говорить,​: Всем ячейкам массива​

​Tatirus​ Пользовательский формат.​ многокритериального подсчета значений.​интервал_суммирования​ двум критериям (Условие​Если ячейка содержит текст,​ секунд и сообщить,​ по датам, то​

​ условия – «сложить​ больше среднего.​ следующим образом: =СУММПРОИЗВ(—(A3:A6>2))​ENTER​ сумму произведений 3-х,​ открывал, и присматривался.​

Альтернативный вариант

​ что C:C>0 тогда​ проще, то это​ B2:B9 присваивает значение​

​: Уважаемые форумчане! Подскажите,​Немного модифицируем условие предыдущей​6. Формула =БДСУММ(A1:B13;B1;D14:E15) требует​является первым аргументом,​ И). Рассмотрим Текстовые​

​ а не число,​ помогла ли она​ вставляем в формулу​ яблоки» и «проданные​Совет​

excel2.ru

Cумма произведений с условием (Формулы/Formulas)

​Вместо двойного отрицания можно​​нажать​ 4-х и т.д.​
​ Свою формулу вставлял.​ B:B*C:C + суммирование​ для перевода логических​ 1, а не​ пожалуйста, можно ли​ задачи: найдем суммарные​ предварительного создания таблицы​ а в СУММЕСЛИ()​ критерии, Числовые и​ он считается нулевым​ вам, с помощью​ еще один диапазон​ Васечкиным». В ячейку​: Дополнительную информацию об​
​ использовать другие формулы:​CTRL+SHIFT+ENTER​
​ массивов.​Но Вашей функции​

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

​ продаж за месяц(см.​​ с условиями (см.​ – третьим. При​

​ критерии в формате​​ значением.​ кнопок внизу страницы.​

excelworld.ru

СУММПРОИЗВ массивов, содержащих текстовые значения

​ — диапазон дат​​ Е9 устанавливаем функцию.​ этой функции можно​ =СУММПРОИЗВ(1*(A3:A6>2)) или =СУММПРОИЗВ(0+(A3:A6>2))​: =СУММ(A3:A6/B3:B6)​Аргументы, которые являются массивами,​ ни на картинке,​ C:C>0.​ т.е. в примере​ каждой из ячеек​ Есть формула СУММПРОИЗВ,​ файл примера Лист​ статью про функцию​ копировании и редактировании​ Дат. Разберем функцию​Если вы хотите поэкспериментировать​ Для удобства также​ и пишем ячейку,​На закладке «Формулы»​Рассмотрим​ или даже так ​Прелесть функции СУММПРОИЗВ() в​ должны иметь одинаковые​ ни в файле​

​Суммированием все понятно,​​ вместо ЛОЖЬ/ИСТИНА будет​ :?: Это так​

​ один из массивов​​ Месяц).​ БДСУММ()). Заголовки этой​ этих похожих функций​ СУММЕСЛИМН(), английская версия​

​ с функцией СУММПРОИЗВ​​ приводим ссылку на​

​ в которой написана​​ в разделе «Библиотека​примеры функции «СУММПРОИЗВ» в​ =СУММПРОИЗВ((A3:A6>2)^1).​ том, что после​ размерности (в нашем​:)

​ не вижу.​​ но мне нужно​

​ 0/1.​​ функция ведет себя​ которого содержит числовые​Формулы строятся аналогично задаче​ таблицы должны в​ необходимо следить за​

​ SUMIFS().​​ и массивами, вот​ оригинал (на английском​ эта дата. Формула​ функций» нажимаем на​Excel​
​Запись >2 является критерием,​ ввода функции в​ случае это массивы​Еще раз: СУММПРОИЗВ​ чтоб перед суммированием​

​Михаил С.​​ из-за того, что​ и текстовые значения.​ 3, но пользователь​;)

​ точности совпадать с​​ тем, чтобы аргументы​В качестве исходной таблицы​ Excel Online книгу​ языке) .​ в ячейке Е10​ кнопку «Математические» и​, которая сначала умножает​ причем можно указать​ ячейку можно просто​ по 4 элемента).​ прекрасно справляется с​

​ оно умножалось…​​: Так тоже должно​ под суммой произведений​ СУММПРОИЗВ «плохо» реагирует​ вводит не 2​ соответствующими заголовками исходной​

​ были указаны в​​ возьмем таблицу с​ с данными, использованными​СУММПРОИЗВ использует диапазоны ячеек​ будет такой.​ выбираем функцию «СУММПРОИЗВ».​ данные столбцов, затем​;)​ любые операции сравнения​ нажать​ В противном случае​ задачей.​:)

​Заранее благодарен!​​=СУММПРОИЗВ((B13=$B$5:$B$9)*$C$5:$C$9*$D$5:$D$9)​ стоят два массива​ на эти текстовые​ даты, а название​ таблицы. Размещение условий​
​ правильном порядке.​

planetaexcel.ru

сумм произв если

​ двумя столбцами (полями):​​ в этой статье.​ (или массивы) в​=СУММПРОИЗВ((B2:B8=C12)*(C2:C8=C11)*(D2:D8=C13);E2:E8)​Диалоговое окно заполнили​ складывает. Этой функцией​ (=; =).​ENTER​ функция СУММПРОИЗВ() возвращает​Пытаюсь расшевелить Вас​Примерчик прилагается.​Cactus​

​ через знак умножения??​​ значения — выдает​

​ месяца (предполагается, что​​ в одной строке​2. другой вариант =СУММПРОИЗВ((A2:A13=D2)*(B2:B13);—(B2:B13>=E2))​ текстовым «Фрукты» и​

​Скопируйте данные примера из​​ качестве аргументов (части​
​Третий способ​

​ так.​​ можно сделать​Критерии можно указывать в​, что снимает некий​ значение ошибки #ЗНАЧ!.​ на «почитать-подумать», а​vikttur​

​: Доброй ночи форумчане​​V​ в качестве результата​ в таблице данные​ соответствует Условию И​Разберем подробнее использование​ числовым «Количество на​ приведенной ниже таблицы​

​ формулы, которые делают​​.​
​Нажимаем «ОК». В ячейке​

planetaexcel.ru

сумму произведений с тремя условиями (Формулы/Formulas)

​выборочное суммирование в​​ форме ссылки: =СУММПРОИЗВ(—(A3:A6>G8))​;)
​ психологический барьер перед​В формуле =СУММПРОИЗВ(A3:A6;B3:B6) функция​
​ Вы все «дайте,​: В той же​Имеется таблица с​
​: В данном случае​ #ЗНАЧ!. Можно ли​ в рамках 1​
​ (см. диапазон​

​ функции СУММПРОИЗВ():​​ складе» (См. файл​ в ячейку A1​ его работы). Перемножает​Если нужно​​ С9 получилась такая​

​Excel по условию​​ – ячейка​ использованием формул массива.​ СУММПРОИЗВ() трактует нечисловые​ не получается». Где​ строке — умножение.​

​ данными.​​ она обрабатывает только​​ в эту формулу​​ года).​D14:E15​Результатом вычисления A2:A13=D2 является​ примера).​ нового листа Excel.​ друг с другом​

​посчитать данные в определенном​​ формула. =СУММПРОИЗВ(B2:B8=C12;C2:C8=C11;E2:E8)​​. Все это мы​G8​Оказывается, что в качестве​

excelworld.ru

Умножение с условием + суммирование с условием

​ элементы массивов как​​ не получается? И​В отдельной ячейке​Необходимо выводить информацию​ первое значение массива​
​ вставить, например, какое-то​
​Месяц вводится с помощью​).​ массив {ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ИСТИНА:ИСТИНА:ИСТИНА:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ} Значение​Найдем количество ящиков товара​ Чтобы отобразить результаты​ элементов массивов и​ периоде​Разберем эту формулу​ здесь разберем.​должна содержать число​ аргумента этой функции​
​ нулевые. Однако, как​ нет желания узнать,​ просуммировать произведения?​ в соответствии с​ B2:B9, а остальные​
​ условие, чтобы расчет​ Выпадающего списка, перечень​Примечание​ ИСТИНА соответствует совпадению​
​ с определенным Фруктом​
​ формул, выделите формулы​

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

​ проводился только для​​ месяцев формируется с​: для удобства, строки,​
​ значения из столбца​
​И​ и нажмите клавишу​

​В приведенном примере используется​​ и ячейку начала​B2:B8=C12 – это​ действует​Критерии можно применять и​ только произведение массивов​

​ можно использовать для​​Сергей​При​Во вложении файл​Tatirus​ числовых значений, не​ использованием Динамического диапазона​ участвующие в суммировании,​

​А​​, у которых Остаток​ F2, а затем​ список товаров: в​
​ периода и окончания​ означает, что в​функция «СУММПРОИЗВ» в Excel.​
​ к текстовым значениям,​ (A3:A6*B3:B6), но и​ подсчета текстовых значений.​

​: =СУММПРОИЗВ(B2:B4;C2:C4)​​С=0 B*C=?​

​ который не знаю​​: Т.е. функция Ч​ реагируя при этом​ (для исключения лишних​ выделены Условным форматированием​критерию, т.е. слову​ ящиков на складе​ — ВВОД. При​

​ одном массиве содержатся​​ периода. В ячейке​ диапазоне В2:В8 нужно​У нас такая​ например, =СУММПРОИЗВ(—(B3:B6=»яблоки»)) –​
​ использовать другие функции​Что произойдет если указать​Спасибо!​(догадались).​
​ как доделать.​ будет работать корректно​ на текстовые, а​
​ месяцев).​ с правилом =И($A2=$D$2;$B2>=$E$2)​ персики. Массив можно​ не менее минимального.​ необходимости измените ширину​ их цены, а​ Е11 будет такая​

​ искать данные, которые​​ таблица.​
​ вернет количество ячеек,​

planetaexcel.ru

​ и даже применить​

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 другими функциями извлекает все числа из строки число-текст-число.

Содержание

  • Вычисление суммы произведения
    • Способ 1: использование математической формулы
    • Способ 2: работа со ссылками
    • Способ 3: использование функции СУММПРОИЗВ
    • Способ 4: применение функции по условию
  • Вопросы и ответы

Сумма произведений в Microsoft Excel

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

Вычисление суммы произведения

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

Способ 1: использование математической формулы

Большинству пользователей известно, что в Экселе можно выполнить значительное количество математических действий просто поставив знак «=» в пустой ячейке, а далее записав выражение по правилам математики. Этот способ можно использовать и для нахождения суммы произведений. Программа, согласно математическим правилам, сразу подсчитывает произведения, а уже потом складывает их в общую сумму.

  1. Устанавливаем знак «равно» (=) в ячейке, в которой будет выводиться результат производимых вычислений. Записываем туда выражение суммы произведений по следующему шаблону:

    =a1*b1*…+a2*b2*…+a3*b3*…+…

    Например, таким способом можно рассчитать выражение:

    =54*45+15*265+47*12+69*78

  2. Формула суммы произведений в Microsoft Excel

  3. Чтобы произвести расчет и вывести его результат на экран, жмем на кнопку Enter на клавиатуре.

Результат расчета формулы суммы произведений в Microsoft Excel

Способ 2: работа со ссылками

Вместо конкретных чисел в этой формуле можно указывать ссылки на ячейки, в которых они расположены. Ссылки можно вписать вручную, но удобнее это делать, выделив после знака «=», «+» или «*» соответствующую ячейку, в которой содержится число.

  1. Итак, сразу записываем выражение, где вместо чисел указаны ссылки на ячейки.
  2. Формула суммы произведений со ссылками в Microsoft Excel

  3. Затем, чтобы произвести подсчет, кликаем по кнопке Enter. Результат вычисления будет выведен на экран.

Результат расчета формулы суммы произведений со ссылками в Microsoft Excel

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

Урок: Работа с формулами в Excel

Способ 3: использование функции СУММПРОИЗВ

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

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

Lumpics.ru

Синтаксис данной функции имеет такой вид:

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

Аргументами этого оператора являются диапазоны данных. При этом они сгруппированы по группам множителей. То есть, если отталкиваться от шаблона, о котором мы говорили выше (a1*b1*…+a2*b2*…+a3*b3*…+…), то в первом массиве располагаются множители группы a, во втором – группы b, в третьем – группы c и т.д. Данные диапазоны обязательно должны быть однотипными и равными по длине. Располагаться они могут, как вертикально, так и горизонтально. Всего данный оператор может работать с количеством аргументов от 2 до 255.

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

  1. Выделяем ячейку на листе, в которой будет выводиться итоговый результат. Жмем на кнопку «Вставить функцию». Она оформлена в виде пиктограммы и располагается слева от поля строки формул.
  2. Переход в Мастер функций в Microsoft Excel

  3. После того, как пользователь произвел данные действия, запускается Мастер функций. В нем открывается список всех, за малым исключением, операторов, с которыми можно работать в Экселе. Чтобы найти нужную нам функцию, переходим в категорию «Математические» или «Полный алфавитный перечень». После того, как нашли наименование «СУММПРОИЗВ», выделяем его и жмем на кнопку «OK».
  4. Переход к аргументам функции СУММПРОИЗВ в Microsoft Excel

  5. Запускается окно аргументов функции СУММПРОИЗВ. По количеству аргументов оно может иметь от 2 до 255 полей. Адреса диапазонов можно вбивать вручную. Но это займет значительное количество времени. Можно сделать несколько по-другому. Устанавливаем курсор в первое поле и выделяем с зажатой левой кнопкой мыши массив первого аргумента на листе. Таким же образом поступаем со вторым и со всеми последующими диапазонами, координаты которых сразу же отображаются в соответствующем поле. После того, как все данные введены, жмем на кнопку «OK» в нижней части окна.
  6. Аргументы функции СУММПРОИЗВ в Microsoft Excel

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

Результаты вычисления функции СУММПРОИЗВ в Microsoft Excel

Урок: Мастер функций в Excel

Способ 4: применение функции по условию

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

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

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

    ="Парфенов Д.Ф."

    После того, как все данные внесены, жмем кнопку «OK».

  2. Аргументы функции СУММПРОИЗВ с условием в Microsoft Excel

  3. Приложение производит вычисление. В расчет берутся только строчки, в которых присутствует имя «Парфенов Д.Ф», то есть то, что нам и нужно. Результат вычислений отображается в предварительно выделенной ячейке. Но результат равен нулю. Это связано с тем, что формула в том виде, в котором она существует сейчас, работает некорректно. Нам нужно её немного преобразовать.
  4. Промежуточный результат вычисления по условию в Microsoft Excel

  5. Для того чтобы преобразовать формулу, выделяем ячейку с итоговым значением. Выполняем действия в строке формул. Аргумент с условием берем в скобки, а между ним и другими аргументами точку с запятой меняем на знак умножения (*). Жмем на кнопку Enter. Программа производит подсчет и на этот раз выдает уже корректное значение. Мы получили общую сумму заработной платы за три месяца, которая причитается сотруднику предприятия Парфенову Д. Ф.

Итоговый результат вычисления по условию в Microsoft Excel

Таким же образом можно применять условия не только к тексту, но и к числам с датами, добавляя знаки условия «<», «>», «=», «< >».

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

Как не забивать гвозди микроскопом с функцией СУММПРОИЗВ

Стандартное использование

Базовый синтаксис нашей функции прост:

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

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

Базовый сценарий применения СУММПРОИЗВ

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

=B2*C2+B3*C3+B4*C4+B5*C5

Технически, перемножаемых массивов (диапазонов) может быть не два, а три или больше (до 255). Главное, чтобы они были одного размера. Удобно, но ничего особенно. Однако, использовать СУММПРОИЗВ только так — забивать гвозди микроскопом, ибо, на самом деле, она умеет гораздо больше.

Работа с массивами без Ctrl+Shift+Enter

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

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

Подсчет количества выполненных условий

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

Подсчет количества условий

Умножение на 1, в данном случае, нужно, чтобы преобразовать результаты сравнения плана и факта — логическую ИСТИНУ и ЛОЖЬ в 1 и 0, соответственно.

Проверка нескольких условий

Если нужно проверять больше одного условия, то формулу из предыдущего примера нужно будет дополнить еще одним (или несколькими) множителями. И если нужно подсчитывать не количество, а сумму, то умножать можно не на 1, а на диапазон с суммируемыми данными:

СУММПРОИЗВ по нескольким условиям

Фактически, получается что-то весьма похожее на математическую функцию выборочного подсчета СУММЕСЛИМН (SUMIFS), которая также умеет проверять несколько условий (до 127) и суммировать по ним значения из заданного диапазона.

Логические связки И и ИЛИ (AND и OR)

Если нужно связывать условия не логическим «И», как в примере выше (Факт>=План) И (Регион=Восток), а логическим ИЛИ, то конструкция немного изменится — знак умножения заменяется на плюс:

СУММЕСЛИ с условиями ИЛИ

Подсчет по данным из закрытого(!) файла

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

СУММПРОИЗВ из закрытой книги

…то вторая формула с классической функцией СЧЁТЕСЛИМН (COUNTIFS) будет работать только до тех пор, пока исходный файл открыт. Если его закрыть, то появляется ошибка #ЗНАЧ! Наша же функция СУММПРОИЗВ (SUMPRODUCT) спокойно считает по данным даже из неоткрытой книги!

Ссылки по теме

  • Что такое формулы массива и как они работают
  • Как производить выборочные вычисления по одному или нескольким критериям


Функция

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

, английская версия 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))

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

    среднего

    .


Совет

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

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

Содержание

  1. СУММПРОИЗВ (функция СУММПРОИЗВ)
  2. Синтаксис
  3. Примечания
  4. Пример 1
  5. Пример 2
  6. Пример 3
  7. Дополнительные сведения
  8. Функция СУММПРОИЗВ в Excel с примерами ее использования
  9. Синтаксис СУММПРОИЗВ
  10. Простейший пример использования функции
  11. СУММПРОИЗВ с условием
  12. Сравнение в СУММПРОИЗВ
  13. Функция СУММПРОИЗВ() — Сложение и подсчет с множественными условиями в EXCEL
  14. Нахождение суммы произведений элементов массивов
  15. Суммирование и подсчет значений удовлетворяющих определенным критериям
  16. СУММПРОИЗВ() – как формула массива
  17. Пример как работает функция СУММПРОИЗВ с условием в Excel
  18. Принципы работы СУММПРОИЗВ с несколькими условиями в Excel
  19. Суммирование промежуточных итогов в Excel по условию
  20. Выборка данных из диапазона по нескольким условиям в Excel
  21. Работа функции СУММПРОИЗВ с текстовыми значениями в Excel

СУММПРОИЗВ (функция СУММПРОИЗВ)

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

В этом примере мы используем СУММПРОИВ для возврата общего объема продаж для данного элемента и его размера:

SumPRODUCT соответствует всем экземплярам элемента Y/Size M и суммирует их, поэтому в данном примере «21 плюс 41» равен 62.

Синтаксис

Чтобы использовать операцию по умолчанию (умножение):

Аргументы функции СУММПРОИЗВ описаны ниже.

Первый массив, компоненты которого нужно перемножить, а затем сложить результаты.

От 2 до 255 массивов, компоненты которых нужно перемножить, а затем сложить результаты.

Выполнение других арифметических операций

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

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

Примечания

Аргументы, которые являются массивами, должны иметь одинаковые размерности. В противном случае функция СУММПРОИЗВ возвращает значение ошибки #ЗНАЧ!. Например, =СУММПРОИВ(C2:C10;D2:D5) возвращает ошибку, так как диапазоны не одного размера.

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

Для лучшей производительности не следует использовать суммпроив с полными ссылками на столбцы. Рассмотрим функцию =СУММПРОИВ(A:A;B:B), чтобы умножить 1 048 576 ячеек в столбце A на 1 048 576 ячеек в столбце B перед их добавлением.

Пример 1

Чтобы создать формулу на примере выше, введите =СУММПРОИВ(C2:C5;D2:D5) и нажмитеввод . Каждая ячейка в столбце C умножается на соответствующую ячейку в той же строке столбца D, и результаты сбавляются. Общая сумма продуктов составляет 78,97 долларов США.

Чтобы ввести более длинную формулу, которая дает такой же результат, введите =C2*D2+C3*D3+C4*D4+C5*D5 и нажмите ввод . После нажатия ввод результат будет таким же: 78,97 долларов США. Ячейка C2 умножается на D2, а ее результат добавляется к результату ячейки C3, умноженной на ячейку D3 и так далее.

Пример 2

В следующем примере sumPRODUCT возвращает суммарные чистую сумму продаж по агенту продаж, у которых есть как общие продажи, так и расходы по агенту. В этом случае мы используем таблицу Excel, в которой используются структурированные ссылки вместо стандартных Excel диапазонов. Здесь вы увидите, что диапазоны «Продажи», «Расходы» и «Агент» имеют ссылку по имени.

Формула: =СУММПРОИМ(((Таблица1[Продажи])+(Таблица1[Расходы]))*(Таблица1[Агент]=B8)) и возвращает сумму всех продаж и расходов агента, указанных в ячейке B8.

Пример 3

В этом примере мы хотим получить общую сумму по конкретному товару, проданного в конкретном регионе. В данном случае, сколько вишней было продается в восточном регионе?

Вот формула: =СУММПРОИВ((B2:B9=B12)*(C2:C9=C12)*D2:D9). Сначала оно умножает количество вхождений восточного на количество совпадающих вишней. Наконец, она суммирует значения соответствующих строк в столбце Продажи. Чтобы узнать, Excel вычисляет формулу, выйдите из ячейки формулы, а затем перейдите в > Вычислить формулу > .

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

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

Источник

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

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

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

Синтаксис СУММПРОИЗВ

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

Простейший пример использования функции

Чтобы стало понятно, как и что считает команда, рассмотрим простой пример. Имеем таблицу с указанными длинами и ширинами прямоугольников. Нам нужно сосчитать сумму площадей всех прямоугольников. Если не пользоваться данной функцией, придется произвести промежуточные действия и сосчитать площадь каждого прямоугольника, а только потом сумму. Как мы и сделали.

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

СУММПРОИЗВ с условием

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

Рассмотрим пример. Имеем таблицу затрат небольшой компании за один расчетный месяц. Необходимо сосчитать общую сумму потраченных средств за январь и февраль по всем статьям расходов.

Для расчета затрат по канцелярии в январе-месяце, используем нашу функцию и указываем в начале 2 условия. Каждое из них заключаем в скобки, а между ними ставим знак «звездочка», подразумевающий союз «и». Получаем следующий синтаксис команды:

  • (А:А=»Январь») – первое условие;
  • (Е:Е=»канцелярия») – второе условие;
  • D:D – массив, из которого выводится итоговая сумма.

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

Сравнение в СУММПРОИЗВ

Одним из условий при использовании команды СУММПРОИЗВ может быть сравнение. Рассмотрим сразу на примере. Предположим, что нам нужно сосчитать не просто все расходы по канцелярии за январь, а только те, которые составляли меньше 1000 рублей (назовем их «мелкие расходы»). Прописываем функцию с теми же аргументами, но дополнительно проставляем оператор сравнения. В данном случае он выглядит как D:D<=1000. Команда выдает ответ: 1000.

И действительно, это та самая тысяча, которая была потрачена в январе на карандаши. Мы задали дополнительно условие сравнения, и при автоматическом возврате значения суммы функция выдала нам такой ответ.

Протянем формулу на остальные ячейки, частично заменив данные. Видим, сколько денег ушло в январе и феврале на мелкие расходы по каждой статье затрат.

Источник

Функция СУММПРОИЗВ() — Сложение и подсчет с множественными условиями в EXCEL

history 3 апреля 2013 г.

Функция СУММПРОИЗВ() , английская версия 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 )
  • Условие И . Например, найти сумму Чисел больше 2 и меньше 5: =СУММПРОИЗВ((A3:A6>2)* (A3:A6 A3:A6 ) )

В файле примера приведены решения подобных задач.

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

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

  • =СУММПРОИЗВ(—ЕПУСТО(D2:D23)) подсчет пустых ячеек в диапазоне;
  • =СУММПРОИЗВ(НАИБОЛЬШИЙ(A:A;<1;2;3>)) сумма 3-х наибольших значений ;
  • =СУММПРОИЗВ((A3:A6>СРЗНАЧ(A3:A6))*(A3:A6)) сумма значений, которые больше среднего .

Совет : Дополнительную информацию об этой функции можно ]]> подчерпнуть здесь (английский язык). ]]>

Источник

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

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

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

Синтаксис функции СУММПРОИЗВ — следующий:

Первый массив является обязательным. Значения должны быть числовыми, текстовые значения формула посчитает как 0. Массивы 2,3 и так далее являются дополнительными необязательными аргументами и используются в зависимости от постановки задачи. Данная функция по ячейкам или по элементам перемножает несколько массивов и суммирует получившиеся произведения. Самый обычный и простой пример использования функции СУММПРОИЗВ – получить общую стоимость, перемножив цену и количество товаров или услуг. В столбце «В» у нас имеются цены, а в столбце «С» – количество товаров. Нам нужно узнать общую стоимость реализации товаров. В ячейке Е4 пишем формулу:

СУММПРОИЗВ поочередно умножила соответствующие значения из двух массивов (450*3; 340*6 и так далее) и суммировала результаты. Функция СУММПРОИЗВ поддерживает работу с массивами, это означает, что можно использовать логику формул массива, используя СУММПРОИЗВ. Кстати, если помните, для ввода формул массива всегда обязательно следует использовать сочетание клавиш Ctrl+Shift+Enter. В нашем случае надобности в этом нет, поскольку СУММПРОИЗВ работает по логике формул массива по определению. В следующем примере у нас есть таблица, которая содержит информацию о компаниях, регионах их деятельности, плановых продажах и фактических продажах. Наша задача – узнать, сколько компаний выполнили план по реализации товаров или услуг. Эту задачу можно решить и иным способом, например, добавить столбец, в котором сосчитать процент выполнения плана, затем применить СЧЕТЕСЛИ или СЧЕТЕСЛИМН. И это хороший и правильный способ, Однако. можно выполнить задачу проще и быстрее. В ячейке Е23 пишем формулу:

Таким образом, условие D13:D20>=C13:C20 будет по очереди применяться к паре значений по ряду, затем это сравнение будет возвращать логическое значение ложь или истину. Для того чтобы трансформировать ложь и истину в числовое значение, умножаем содержащееся внутри СУММПРОИЗВ условие на 1. Ложь*1=0, истина*1=1. Затем все полученные 1 суммируются:

В предыдущем примере мы использовали одно условие, но при необходимости можно добавлять дополнительные условия. Например, нам нужно найти сколько компаний выполнили план в Северной Европе. Для этого нам следует к имеющийся формуле добавить еще одно условие – диапазон В13:В20, ячейки которого содержат текст «Северная Европа»:

Текст обязательно вставляем в кавычки. Формула нашла компании, которые выполнили план, затем сопоставила найденные результаты с вторым условием, оставила только те, которые соответствуют и возвратила их количество:

Суммирование промежуточных итогов в Excel по условию

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

Теперь наша ИСТИНА будет умножаться на соответствующую величину продаж, а ЛОЖЬ при умножении будет возвращать ноль. Функции, работающие с условиями, сопровождаются логическими операторами И, ИЛИ, НЕ и так далее. Если посмотреть на нашу формулу, два заданных условия связаны между собой логическим оператором И, то есть, выполняется поиск компаний, в которых и выполнен план, и расположение – Северная Европа. Что, если нам нужно связать условия логическим оператором ИЛИ? Допустим, нам нужно просуммировать сумму компаний из регионов Северная и Центральная Европа. Тогда между двумя условиями нужно вместо умножения поставить знак «плюс»:

Выборка данных из диапазона по нескольким условиям в Excel

У нас есть таблица с данными о сотрудниках и их баллах, полученные за тестирование навыков. Нам нужно выбрать среди сотрудников тех, чьи результаты оказались лучше остальных. Первым делом нужно посчитать среднее значение. Можно сделать это через функцию СРЗНАЧ и это будет правильно:

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

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

Теперь заново внимательно смотрим результаты – у нас переопределялся лидер. В прошлом примере Джек занимал первое место, теперь у него самый низкий результат. Мария из второго места ушла на 3, а лидером оказался Питер.

Работа функции СУММПРОИЗВ с текстовыми значениями в Excel

Еще один простой, но работающий пример использования:

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

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

Источник

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

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

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

синтаксис формулы суммпроизв

Синтаксис функции выглядит следующим образом: =СУММПРОИЗВ(список1; список2 …)

То есть, если у вас есть массив данных {2;3;4} в одной колонке и {5;10;20} – в другой, и вы воспользовались функцией СУММПРОИЗВ, вы получите результат 120 (потому что 2*5+3*10+4*20=120).

пример функции суммпроизв

СУММПРОИЗВ и массивы

Давайте предположим, что у вас имеется таблица продаж с колонками Имя продавца, Регион и Сумма продаж. И вам необходимо узнать, на какую сумму сделал продаж тот или иной агент. Это просто, можно воспользоваться функцией СУММЕСЛИ и указать в качестве критерия суммирования, необходимое нам имя агента.

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

  • Воспользоваться формулами массивов
  • Воспользоваться сводными таблицами
  • Воспользоваться формулой СУММЕСЛИМН

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

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

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

=СУММПРОИЗВ(- -(A2:A21=»Агент Смит»);- -(B2:B21=»Запад»);C2:C21)

Давайте разберемся, как работает формула:

  • Часть формулы (- -(A2:A21=»Агент Смит» ищет Агента Смита в диапазоне A2:A21 и возвращает массив с единицами и нулями (единица,  если ячейка содержит Агента Смита, и ноль – если нет).
  • Часть — -(B2:B21=»Запад») делает тоже самое, только возвращает единицу, если ячейка содержит Запад.
  • C2:C21 – просто возвращает массив с продажами

Если вы перемножите все три массива и затем просуммируете произведения, получиться искомый результат.

работа функции суммпроизв

Послесловие

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

Это глава из книги: Майкл Гирвин. Ctrl+Shift+Enter. Освоение формул массива в Excel.

Предыдущая глава                                Оглавление                                 Следующая глава

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

  • перемножить два и более массива и сложить результаты умножения;
  • сложить элементы одного массива.

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

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

Рис. 2.14 – сумма разностей двух столбцов =СУММПРОИЗВ(D3:D6-C3:C6)
Рис. 3.4 – сумма произведений столбца на константу =СУММПРОИЗВ(B2:B5*(1-B7))
Рис. 6.6 – общее число символов в колонке =СУММПРОИЗВ(ДЛСТР(A2:A6))
Рис. 6.11 – сумма затрат, выбранных из таблицы просмотра функцией СУММЕСЛИ (для неотсортированных исходных данных) =СУММПРОИЗВ(СУММЕСЛИ(Е4:Е6,B3:В7,F4:F6))
Рис. 6.12 – (подобно рис. 6.11), но для отсортированных данных =СУММПРОИЗВ(ПРОСМОТР(B3:B7,Е4:F6))
Рис. 7.18 – сумма n наибольших значений в диапазоне В2:В8, где n размещено в ячейке D3 =СУММПРОИЗВ(НАИБОЛЬШИЙ(B2:B8;СТРОКА(ДВССЫЛ("1:"&D3))))
Рис. 7.33 – сумма затрат из некоторых столбцов (заданных массивом констант), выбранных по определенному товару функцией ВПР =СУММПРОИЗВ(ВПР(A7;A2:H4;{2;4;5;7;8}))

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

Рис. 10.1. Поэлементное умножение двух диапазонов

Рис. 10.1. Поэлементное умножение двух диапазонов одинаковых размеров с последующим суммированием результатов умножения

Скачать заметку в формате Word или pdf, примеры и ExternalData в формате Excel2013

Основные свойства функции СУММПРОИЗВ:

  1. СУММПРОИЗВ обрабатывает два массива или более; функция сначала попарно перемножает элементы массивов, а затем суммирует результаты умножения.
  2. Число аргументов функции от 1 до 255; аргументы называются массив1, массив2 и так далее; массивы должны иметь одинаковую размерность, например, 1*3 и 1*3, 4*1 и 4*1, 2*4 и 2*4.
  3. Функция интерпретирует нечисловые значения как нулевые.
  4. Аргументы функции поддерживают операции с массивами, а ввод функции не требует нажатия Ctrl+Shift+Enter.
  5. Если массивы имеют разную размерность и их нужно умножить, вы можете использовать оператор умножения внутри одного аргумента функции (ниже будет показано, как это сделать). Если массивы умножаются внутри одного аргумента, и хотя бы один из элементов массива не число, функция вернет ошибку #ЗНАЧ! Способность функции СУММПРОИЗВ интерпретировать нечисловые значения как нулевые распространяется только на ситуации, когда каждый массив помещен в отдельный аргумент. Обойти эту проблему можно с помощью функции МУМНОЖ, о чем будет рассказано в главе 18.
  6. Функция может обработать единственный массив, помещенный в аргумент массив1; в этом случае просто выполнится суммирование элементов массива.
  7. Если у вас есть массив логических величин и вы хотели бы использовать его в расчетах, вы должны предварительно преобразовать значения ИСТИНА и ЛОЖЬ в единицы и нули. Любые математические операции справятся с этой задачей, но я рекомендую использовать двойное отрицание, как самый быстрый метод вычисления.
  8. Если у вас Excel 2007 или более поздняя версия и вы подсчитываете ячейки или суммируете их содержимое с использованием нескольких критериев, используйте функции СУММЕСЛИМН и СЧЁТЕСЛИМН, потому что они работают быстрее.
  9. Функция СУММПРОИЗВ может использоваться в качестве замены СУММЕСЛИ, СЧЁТЕСЛИ, СУММЕСЛИМН и СЧЁТЕСЛИМН (подробнее см. ниже в этой главе).

Теперь давайте рассмотрим кучу примеров использования СУММПРОИЗВ.

Наиболее очевидное применение функции СУММПРОИЗВ – умножение двух или более массивов одинаковых размеров, с последующим их суммированием. Например, на рис. 10.1 показан ряд денежных знаков (банкнот и монет) и ряд их количеств. Цель – рассчитать размер банковского вклада. Действуя обычным образом, вы должны были бы создать формулу, которая умножает стоимость каждого денежного знака на их количество, а затем суммирует результаты; что-то типа: $100 * 22 + $50 * 0 + $20 * 50 + $10 * 22 + $5 * 25 + $1 * 38 + $0,50 * 0 + $0,25 * 40 + $0,10 * 50 + $0,05 * 0 + $0,01 * 50 = $3598,50. К счастью, функция СУММПРОИЗВ позволяет упростить эту формулу =СУММПРОИЗВ(B1:L1;B2:L2).

На рис. 10.2 показаны преимущества функции СУММПРОИЗВ над формулой массива на основе функции СУММ. СУММПРОИЗВ не требует нажатия Ctrl+Shift+Enter, и она справляется с ячейками с текстом, так как интерпретирует их как нулевые. Функция массива СУММА возвращает ошибку #ЗНАЧ!, потому что не может умножить текст на число. Рис. 10.3–10.5 показывают еще три примера умножения массивов одинаковых размеров с последующим суммированием.

Рис. 10.2. СУММПРОИЗВ не требует нажатия Ctrl+Shift+Enter

Рис. 10.2. СУММПРОИЗВ не требует нажатия Ctrl+Shift+Enter, и справляется с ячейками с текстом, так как интерпретирует их как нулевые

Рис. 10.3. Расчет взвешенной оценки с помощью СУММПРОИЗВ

Рис. 10.3. Расчет взвешенной оценки

Рис. 10.4. Расчет объема закупок на основе средневзвешенных данных

Рис. 10.4. Расчет объема закупок на основе средневзвешенных данных

Рис. 10.5. Функция СУММПРОИЗВ может обрабатывать до 255 диапазонов

Рис. 10.5. Функция СУММПРОИЗВ может обрабатывать до 255 диапазонов; в этом примере умножаются 4 столбца

Примечание: если формула ссылается только на две ячейки, например, =СУММПРОИЗВ(A10;B10), и хотя бы одна их них пуста, функция вернет ошибку; если обе ячейки содержат числа (пусть и нули), ошибки не будет.

Умножение трех диапазонов различного размера с последующим суммированием результатов. На рис. 10.6 приведен пример из финансовой области. Вы оцениваете ожидаемую доходность портфеля из двух акций. Расчет учитывает вероятность экономического состояния рынка (B4:B6), вес каждой акции (C1, D1), и доходности отдельных акций (C4:D6). Если вы займетесь вычислениями вручную, это будет непросто: 0,15 * 0,6 * 0 + 0,7 * 0,6 * 0,06 + 0,15 * 0,6 * 0,1 + 0,15 * 0,4 * -0,15 + 0,7 * 0,4 * 0,05 + 0,15 * 0,4 * 0,2 = 0,0512.

Рис. 10.6. Умножение поможет справиться с массивами разных размеров

Рис. 10.6. Умножение поможет справиться с массивами разных размеров

Вы можете обойти требование о том, что массивы в аргументах функции СУММПРОИЗВ должны иметь одинаковые размеры, путем умножения диапазонов в одном аргументе, как показано на рис. 10.6. Процесс вычисления показан на рис. 10.7. Вы помните, что аргумент массив1 функции СУММПРОИЗВ может обрабатывать массивы, поэтому нажатия Ctrl+Shift+Enter для ввода формулы не требуется. Обратите внимание, что перемножаемые массивы имеют не совсем произвольную размерность. Первый массив (В4:В6) – это как бы заголовок строк, второй массив (С1:D1) – заголовок столбцов, третий массив (С4:D6) – тело таблицы. Если бы вы попробовали формулу типа =СУММПРОИЗВ(B4:B6*C4:C5*D4:D6), вы получили бы ошибку #Н/Д! Формула попыталась бы сделать следующие вычисления: В4*С4*D4 + B5*C5*D5 + B6*Н/Д*D6, а поскольку третьего элемента во втором диапазоне нет, ничего бы не получилось …

Рис. 10.7. Процесс расчета в случае, если массивы имеют разный размер

Рис. 10.7. Процесс расчета в случае, если массивы имеют разный размер

Функцию СУММПРОИЗВ часто используют для суммирования результатов, возвращаемых каким-либо оператором массива, например, функцией ОКРУГЛ (рис. 10.8). Преимущество СУММПРОИЗВ над СУММ состоит в том, что первая не требует нажатия Ctrl+Shift+Enter. На рис. 10.8 показано, как можно получить сумму счета. Бухгалтерам знакома эта проблема: прежде чем суммировать подитоги по строкам, нужно сделать округление с точностью до копейки. Если такого округления не сделать, то сумма счета может не совпасть с суммой по отдельным строкам.

Рис. 10.8. Сумма счета

Рис. 10.8. Сумма счета равна сумме всех строк; в свою очередь сумма по строке получается округлением до копеек произведения цены на количество

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

  1. Многие до сих пор используют версию Excel 2003 (или более раннюю), в которой нет функций СУММЕСЛИМН и СЧЁТЕСЛИМН, а использование БДСУММ и БСЧЁТ затруднено, так как они требуют соответствующей подготовки исходных данных и не позволяют напрямую скопировать формулы вдоль столбца (строки).
  2. В Excel 2007 или более поздней версии вы можете столкнуться с электронной таблицей, подготовленной ранее, и в которой была использована СУММПРОИЗВ.
  3. СУММПРОИЗВ может выполнить некоторые расчеты (с несколькими условиями), перед которыми СУММЕСЛИМН и СЧЁТЕСЛИМН спасуют.

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

Рассмотрим исходные данные, включающие имена сотрудников, номера проектов и время, потраченное на участие в проекте (рис. 10.9–10.12). Цель – определить суммарное время, потраченное сотрудником Kip на Проект 2 (это И критерий, так как оба условия должны быть выполнены, чтобы включить время в суммирование). Как показано на рис. 10.9 первый набор формул использует СУММЕСЛИМН и СЧЁТЕСЛИМН. Поскольку большинство пользователей знакомились с Excel до 2007 года, они вполне могли пропустить появление новых функций в версии 2007, и продолжают по старинке применять СУММПРОИЗВ, БДСУММ и БСЧЁТ. В то же время, для подобных целей СУММЕСЛИМН и СЧЁТЕСЛИМН более эффективны.

Рис. 10.9. СУММЕСЛИМН и СЧЁТЕСЛИМН – лучший выбор

Рис. 10.9. В Excel 2007 (и более поздней версии) СУММЕСЛИМН и СЧЁТЕСЛИМН – лучший выбор

СУММЕСЛИМН и СЧЁТЕСЛИМН обладают следующими преимуществами:

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

На рис. 10.10 показаны примеры БДСУММ и БСЧЁТ. Если вы используете Excel 2003 или более раннюю версию, и имена полей присутствуют, как в наборе данных, так и в области критериев, и вам не нужно копировать формулы из одной ячейки в другую, используйте функции базы данных. Во-первых, они работают быстрее, чем СУММПРОИЗВ; во-вторых, их проще создать, особенно если у вас много условий.

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

Рис. 10.10. В Excel 2003 (и более ранней версии) используйте БДСУММ и БСЧЁТ

Рис. 10.10. В Excel 2003 (и более ранней версии) используйте БДСУММ и БСЧЁТ

На рис. 10.11 показан пример использования СУММПРОИЗВ. Если у вас Excel 2003 или более ранняя версия, и у вас нет имен полей в наборе данных и/или в области критериев, СУММПРОИЗВ сможет сделать работу там, где функции базы данных не справятся. (Вы узнаете, как была создана эта формула и почему вы используете двойное отрицание чуть позже.)

Рис. 10.11. Возможно также использовать и СУММПРОИЗВ

Рис. 10.11. Возможно также использовать и СУММПРОИЗВ

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

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

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

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

  • СУММПРОИЗВ не может распознать логические значения ИСТИНА и ЛОЖЬ; все нечисловые данные СУММПРОИЗВ интерпретирует как нули.
  • Любые математические операции преобразует значение ИСТИНА в 1, а ЛОЖЬ – в 0.

Давайте посмотрим на рис. 10.13. Цель формулы в ячейке D2 – подсчет числа вхождений записи Kip в столбце А. Мы поместили оператор сравнения массива и числа (A2:A5=C2) в аргумент массив1 функции СУММПРОИЗВ. Если вы выделите этот оператор и нажмете F9, то увидите результирующий массив, включающий значения ИСТИНА и ЛОЖЬ (рис. 10.14). Вы еще не забыли, что для отмены расчета нужно нажать Ctrl+Z?

Рис. 10.13. Оператор массива спрашивает, равен ли какой-либо элемент Kip

Рис. 10.13. Оператор массива (A2:A5=C2) спрашивает: «равен ли какой-либо элемент Kip»?

Рис. 10.14. Оператор сравнения возвращает массив значений ИСТИНА и ЛОЖЬ

Рис. 10.14. Оператор сравнения возвращает массив значений ИСТИНА и ЛОЖЬ; СУММПРОИЗВ интерпретирует все эти значения, как нулевые

Если ввести формулу, вы получите ноль, потому что СУММПРОИЗВ воспринимает логические значения в виде нулей (рис. 10.15). Тем не менее, если вы сможете преобразовать значение ИСТИНА в 1, а ЛОЖЬ – в 0, СУММПРОИЗВ осуществит суммирование, и вернет число единиц.

Рис. 10.15. СУММПРОИЗВ интерпретирует нечисловые данные как нули

Рис. 10.15. СУММПРОИЗВ интерпретирует нечисловые данные как нули, поэтому сумма нулей дает ноль

Преобразовать логическое значение ИСТИНА в 1, а ЛОЖЬ – в 0 может любая математическая операция (рис. 10.16).

Рис. 10.16. Любые математические операции преобразуют логическое значение ИСТИНА в 1, а ЛОЖЬ – в 0

Рис. 10.16. Любые математические операции преобразуют логическое значение ИСТИНА в 1, а ЛОЖЬ – в 0

На рис. 10.17 показано, как использовать математические операции (или функцию Ч) в формуле массива СУММПРОИЗВ, чтобы подсчитать, сколько Kip, в столбце А. Чтобы увидеть процесс вычисления, например, по формуле [1], встаньте на ячейке D2, выделите целиком аргумент функции СУММПРОИЗВ и нажмите F9 (рис. 10.18). Наиболее часто используют двойное отрицание. Это связано, во-первых с тем, что оно работает чуть быстрее, а во-вторых, с тем, что простое отрицание занимает высокую позицию в списке очередности выполнения операторов в Excel (подробнее см. главу 1). Приоритет отрицания даже выше, чем возведение в степень.

Рис. 10.17. Шесть способов преобразования логических значений ИСТИНА и ЛОЖЬ в 1 и 0

Рис. 10.17. Шесть способов преобразования логических значений ИСТИНА и ЛОЖЬ в 1 и 0

Рис. 10.18

Рис. 10.18. Как СУММПРОИЗВ интерпретирует логические значения ИСТИНА и ЛОЖЬ с помощью двойного отрицания

Теперь, когда вы убедились в том, что двойное отрицание является эффективным средством для преобразования значений ИСТИНА в 1 и ЛОЖЬ – в 0, давайте вернемся к формуле СУММПРОИЗВ с использованием двух критериев выборки (см. рис. 10.11), и подробно рассмотрим ее работу (рис. 10.19).

Рис. 10.19. Пошаговая работа формулы =СУММПРОИЗВ

Рис. 10.19. Пошаговая работа формулы =СУММПРОИЗВ(--(A2:A7=E2);--(B2:B7=F2);C2:C7)

И критерии (логическое умножение) и СУММПРОИЗВ. Условные вычисления с помощью функции АГРЕГАТ (см. главу 4) и все примеры этой главы использовали И критерии: все условия должны быть соблюдены для того, чтобы включить пункт в подсчет количества или суммирование. Например, если у вас есть формула =СУММПРОИЗВ(--(A2:A7=E2);--(B2:B7=F2);C2:C7), будут суммироваться только те элементы диапазоне С2:С7, для которых и --(A2:A7=E2) и --(B2:B7=F2) вернут единицы. Когда СУММПРОИЗВ умножает два массива заполненные единицами и нулями на третий массив, заполненный числами, это называется логическим умножением.

Различия в синтаксисе операторов сравнения, используемых в функциях СУММЕСЛИМН, БДСУММ, СУММПРОИЗВ (рис. 10.23–10.26).

Рис. 10.23. СУММЕСЛИМН суммирует время звонков Sioux в период между 7 и 13 октября

Рис. 10.23. СУММЕСЛИМН суммирует время звонков Sioux в период между 7 и 13 октября; условия вписаны в ячейки А2 и А3

Рис. 10.24. Условия прописаны в самой формуле

Рис. 10.24. Аналогично, но условия прописаны в самой формуле (в ячейке А5); А2 и А3 содержат только данные; эта методика полезна, если данные из А2 и А3 используются в других местах

Рис. 10.25. БДСУММ требует, чтобы сравнительный оператор быть помещены в ячейку

Рис. 10.25. БДСУММ требует, чтобы операторы сравнения были помещены в ячейку, а также, чтобы заголовки в таблице и в области критериев совпадали; БДСУММ менее гибкая, чем СУММЕСЛИМН

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

Рис. 10.26. СУММПРОИЗВ требует, чтобы операторы сравнения были размещены в аргументе массив1, массив2 и т.д.; именно с этим связано большее время работы этой функции по сравнению, например, с СУММЕСЛИМН

Итак:

  • СУММЕСЛИ, СУММЕСЛИМН, СЧЁТЕСЛИ, СЧЁТЕСЛИМН: оператор сравнения может находиться, как в ячейке с критерием, так и внутри формулы
  • БДСУММ, БСЧЁТ: оператор сравнения должен находиться в ячейке с критерием
  • СУММПРОИЗВ: оператор сравнения следует поместить внутрь аргумента массив1

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

Ссылка на книгу: СУММЕСЛИМН, СЧЁТЕСЛИМН и т.п. не справляются; используем СУММПРОИЗВ. Функции СУММЕСЛИМН, СЧЁТЕСЛИМН и т.п. содержат аргументы диапазон_суммирования и диапазон_условия1. Эти аргументы не могут обрабатывать массивы ни при каких обстоятельствах. Когда вы используете в формуле ссылку на книгу, а затем закроете книгу с внешними данными, ссылка на книгу преобразуется в массив и вызывает ошибку #ЗНАЧЕН! Как показано на рис. 10.27, когда книга с внешними данными открыта, нет никаких проблем: функция СУММЕСЛИМН правильно вычисляет сумму – 41. Однако, как показано на рис. 10.28, когда книга с внешними данными закрыта, СУММЕСЛИМН дает ошибку. Аналогичная ошибка возникает, если вы используете ссылки на книгу в функциях, подобных СУММЕСЛИМН, например, в СЧЁТЕСЛИМН. В то же время СУММПРОИЗВ и при открытой книге с внешними данными (рис. 10.27), и при закрытой книге (рис. 10.28), работает без сбоев.

Рис. 10.27

Рис. 10.27. Когда книга с внешними данными открыта, ошибки нет

Рис. 10.28

Рис. 10.28. Когда книга с внешними данными закрыта, СУММЕСЛИМН возвращает ошибку, а СУММПРОИЗВ по-прежнему «в седле»

Примечание: создание ссылки на книгу в формулах аналогично добавлению обычный ссылки на ячейку. Разница лишь в том, что находясь в режиме редактирования формулы, вы можете кликнуть кнопку внешней книги внизу экрана на панели задач (или нажать Ctrl+Tab), чтобы перейти к внешней книге, а затем выбрать в ней нужный лист и диапазон ячеек. Кроме того, пока внешняя книга открыта, ссылка в формуле показывает только имя внешней книги и название листа. Когда внешняя книга закрыта, ссылка показывает полное имя файла и путь к нему (см. рис. 10.28; видно, что я сохранил файл на Dropbox).

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

Рассмотрим пример: сколько пятниц 13-е находится между двумя датами?

Примечание: издатель этой книги, Билл MrExcel Джелен, специально попросил меня включить в книгу этот пример, потому что это его любимая формула массива!

Как показано на рис. 10.29, цель формулы – найти и вернуть в ячейку единственное значение: количество «пятниц 13-е», находящееся между двумя датами. На первый взгляд это кажется практически невыполнимой задачей! Особенно, учитывая, что у вас нет полного список дат.

Рис. 10.29. Цель – подсчитать количество «пятниц 13-е», находящееся между двумя датами

Рис. 10.29. Цель – подсчитать количество «пятниц 13-е», находящееся между двумя датами

К счастью, существует возможность создать прямо внутри формулы массив последовательных дат, основываясь на дате начала и дате окончания. В главе 7 (посвященной массивам констант) вы уже видели формулу, которая создает массив последовательных чисел (см. раздел динамический массив переменной длины из последовательных чисел). На рис. 10.30 показано, как можно использовать аналогичную формулу, чтобы создать массив последовательные дат в ячейке В4.

Рис. 10.30. Динамический массив переменной длины из последовательных чисел

Рис. 10.30. Динамический массив переменной длины из последовательных чисел

Если выделить целиком формулу =СТРОКА(…) и нажать F9, можно будет увидеть результирующий массив, возвращаемый этой формулой. На рис. 10.31 показана небольшую часть этого массива; всего в нем 701 дата.

Рис. 10.31. Формула ДВССЫЛ() возвращает массив, заполненный датами

Рис. 10.31. Формула ДВССЫЛ() возвращает массив, заполненный датами (в присущем Excel формате)

Далее вам надо представить даты в «правильном» формате. Используйте для этого функцию ТЕКСТ, указав, например, формат "ДДД Д". В этом формате одновременно присутствует и день недели (ДДД) и день месяца (Д), например, Пт 13, Сб 14… Поместите функцию СТРОКА(ДВССЫЛ()) в аргумент значение функции ТЕКСТ (рис. 10.32).

Рис. 10.32

Рис. 10.32. Функция ТЕКСТ позволяет представить даты в требуемом формате

Чтобы проверить, что возвращает функция ТЕКСТ, выделите ее целиком и нажмите F9. На рис. 10.34 показана часть массива (по-прежнему, из 701 элемента), одна из дат "Пт 13" выделена.

Рис. 10.33

Рис. 10.34. Массив, возвращаемый функцией ТЕКСТ, показывает текстовые строки, содержащие день недели номер дня в месяце

Далее вы должны преобразовать массив текстовых строк в массив логических значений, путем сравнения массива и текстовой строки "Пт 13" (рис. 10.35).

Рис. 10.35. Оператор сравнения задает вопрос, есть ли день равный Пт 13

Рис. 10.35. Оператор сравнения задает вопрос: «есть ли день равный "Пт 13"»?

На рис. 10.36 показана небольшая часть массива, возвращаемого оператором сравнения. Массив содержит 701 логическое значение. ИСТИНА соответствует дню "Пт 13"!

Рис. 10.36. ИСТИНА соответствует дню Пт 13

Рис. 10.36. ИСТИНА соответствует дню "Пт 13"

На рис. 10.37 показана распространенная ошибка, которую совершают многие пользователи Excel (включая меня) – попытка поместить формулу ТЕКСТ(…) в аргумент диапазон функции СЧЁТЕСЛИ. Что вполне логично, тем более что большинство аргументов функций Excel может обрабатывать операции с массивами (единственное рассмотренное до сих пор исключение относилось к аргументу искомое_значение функции ВПР). Ведь всё что вам нужно, это подсчитать количество значений ИСТИНА в массиве, возвращаемом формулой ТЕКСТ(). К сожалению, в этом месте подстерегает второе исключение: аргумент диапазон функции СЧЁТЕСЛИ также не поддерживает операции с массивами.

Рис. 10.37. Оператор массива не работает в аргументе диапазон функции СЧЁТЕСЛИ

Рис. 10.37. Оператор массива не работает в аргументе диапазон функции СЧЁТЕСЛИ

Но как только вы попробуете ввести в ячейку формулу, изображенную на рис. 10.37, вы получите сообщение об ошибке. На рис. 10.39 приведено сообщение об ошибке характерное для Excel 2013; в других версиях, вы можете получить несколько иное сообщение.

Рис. 10.39. Сообщение об ошибке

Рис. 10.39. Размещая оператор массива в аргументе диапазон функции СЧЁТЕСЛИ, вы получите следующее не очень информативное сообщение об ошибке

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

Рис. 10.40. СУММПРОИЗВ работает с операторами массивов

Рис. 10.40. СУММПРОИЗВ работает с операторами массивов

Рис. 10.41. Найдено три значения «пятница 13-е» между начальной и конечной датами

Рис. 10.41. Найдено три значения «пятница 13-е» между начальной и конечной датами

Функция ЕСЛИ внутри СУММПРОИЗВ. В главе 4 рассматривалось козырное правило функции ЕСЛИ: независимо от того, где в большой формуле размещена функция ЕСЛИ, формула массива всегда будет требовать нажатия Ctrl+Shift+Enter. Это означает, что если вы взяли функцию, которая может обрабатывать массив без нажатия Ctrl+Shift+Enter (например, АГРЕГАТ или СУММПРОИЗВ) и пометили внутрь функцию ЕСЛИ, то теперь формула будет требовать нажатия Ctrl+Shift+Enter.

Как показано на рис. 10.42, если вы используете ЕСЛИ внутри функции СУММПРОИЗВ, формула требует Ctrl+Shift+Enter. Формула в ячейке А5 была введена с помощью Enter что привело к ошибке #ЗНАЧ! Формула в ячейке A6 была введена с Ctrl+Shift+Enter и поэтому рассчитывает правильно. Проблема с использованием функции ЕСЛИ внутри СУММПРОИЗВ заключается в том, что пользователи электронной таблицы могут ошибочно думать, что аргумент массив функции СУММПРОИЗВ массив аргументов может обрабатывать оператор массива внутри функции ЕСЛИ. Чтобы избежать возможной двусмысленности, лучше использовать формулы, использованные в ячейках А10 и А11.

Рис. 10.42. Использование функции ЕСЛИ внутри СУММПРОИЗВ может привести к неоднозначности

Рис. 10.42. Использование функции ЕСЛИ внутри СУММПРОИЗВ может привести к неоднозначности

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

  • Умножает массивы одинаковой размерности, а затем суммирует результаты умножения.
  • Суммирует результаты возвращаемые оператором массива без нажатия Ctrl+Shift+Enter.
  • Может выполнять операции с массивами различной размерности; в этом случае оператор массива следует разместить в одном аргументе.
  • Обрабатывает ссылки на внешнюю книгу, в то время как СУММЕСЛИМН и т.п. не могут этого.
  • Работает с операторами массивов, в то время как аргументы диапазон и диапазон_условия функции СУММЕСЛИМН и т.п. этого не делают.
  • Если у вас Excel 2007 (или более поздняя версия), для расчетов с несколькими критериями следует предпочесть СУММЕСЛИМН, СЧЁТЕСЛИМН и т.п.
  • Если вы делаете расчеты с несколькими критериями и вам не нужно копировать формулу, наиболее эффективными могут быть функции базы данных.
  • При использования функции ЕСЛИ внутри СУММПРОИЗВ, требуется нажатие Ctrl+Shift+Enter; чтобы не допускать двусмысленности, рекомендуется использовать альтернативную формулу.

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