Как сделать сумму по выборке в excel?

Предположим что у Вас есть вот такой отчёт по продажам торговых представителей:Как сделать сумму по выборке в excel?

Из него Вам необходимо узнать сколько карандашей продал торговый представитель Иванов в январе.

Как сделать сумму по выборке в excel?

ПРОБЛЕМА: Как суммировать данные по нескольким критериям??

РЕШЕНИЕ: Способ 1:

Code

=БДСУММ(A1:G16;F1;I1:K2)

В английской версии:

Code

=DSUM(A1:G16,F1,I1:K2)

КАК ЭТО РАБОТАЕТ: Как сделать сумму по выборке в excel?

  • Из указанной нами базы данных A1:G16 функция БДСУММ извлекает и суммирует данные столбца Количество (аргумент «Поле» = F1) по заданным в ячейках I1:K2 (Продавец = Иванов; Продукция = Карандаши; Месяц = Январь) критериям.
  • Как сделать сумму по выборке в excel?
  • МИНУСЫ

:
Список критериев должен быть на листе.ПРИМЕЧАНИЯ: Количество критериев суммирования ограничено оперативной памятью.ОБЛАСТЬ ПРИМЕНЕНИЯ: Любая версия ExcelСпособ 2:

Code

=СУММПРОИЗВ((B2:B16=I2)*(D2:D16=J2)*(A2:A16=K2)*F2:F16)

В английской версии:

Code

=SUMPRODUCT((B2:B16=I2)*(D2:D16=J2)*(A2:A16=K2)*F2:F16)

КАК ЭТО РАБОТАЕТ:

Функция СУММПРОИЗВ формирует массивы из значений ИСТИНА и ЛОЖЬ, согласно выбранным критериям, в памяти Excel.Как сделать сумму по выборке в excel?Если-бы вычисления производились в ячейках листа (для наглядности я всю работу формулы продемонстрирую так, как-будто вычисления происходят на листе, а не в памяти), то массивы выглядели бы так:Как сделать сумму по выборке в excel?

Очевидно что если например, D2=Карандаши, то значение будет равно ИСТИНА, а если D3=Папки, то ЛОЖЬ (так как критерием отбора товара в нашем примере является значение Карандаши).

Как сделать сумму по выборке в excel?Зная о том что значение ИСТИНА всегда равно 1, а ЛОЖЬ всегда равно 0 мы продолжаем работать с массивами как с числами 0 и 1.

Перемножив полученные значения массивов между собой последовательно, мы получим ОДИН массив из нолей и единиц. Там где выполнялись все три критерия отбора, (ИВАНОВ, КАРАНДАШИ, ЯНВАРЬ) т.е. все условия принимали значения ИСТИНА получаем 1 (1*1*1 = 1), если же хотя-бы одно условие не выполнялось — получим 0 (1*1*0 = 0 ; 1*0*1 = 0 ; 0*1*1 = 0 ).

Теперь осталось только умножить полученный массив на массив содержащий данные, которые нам необходимо в итоге просуммировать ( диапазон F2:F16) и собственно, просуммировать то что на 0 не умножилось.

Как сделать сумму по выборке в excel?Теперь сравните полученные при помощи формулы и при пошаговом вычислении на листе массивы (выделены красным).Как сделать сумму по выборке в excel? Думаю всё понятно 🙂

МИНУСЫ:
СУММПРОИЗВ«тяжёлая» формула массива. При вычислениях на больших диапазонах данных заметно увеличивается время пересчёта.ПРИМЕЧАНИЯ: Количество обрабатываемых массивов ограничено 255.

ОБЛАСТЬ ПРИМЕНЕНИЯ: Любая версия Excel

Способ 3: Формула массива

Code

=СУММ(ЕСЛИ((B2:B16=I2)*(D2:D16=J2)*(A2:A16=K2);F2:F16))

В английской версии:

Code

=SUM(IF((B2:B16=I2)*(D2:D16=J2)*(A2:A16=K2),F2:F16))

КАК ЭТО РАБОТАЕТ:  Точно так же как и Способ №2. Есть только два отличия — данная формула вводится нажатием Ctrl+Shift+Enter, а не просто нажатием Enter и массив 0-й и 1-ц не умножается на диапазон суммирования, а отбирается с помощью функции ЕСЛИ.

МИНУСЫ: Формулы массива при вычислениях на больших диапазонах данных заметно увеличивают время пересчёта.ПРИМЕЧАНИЯ: Количество обрабатываемых массивов ограничено 255.

 ОБЛАСТЬ ПРИМЕНЕНИЯ: Любая версия ExcelСпособ 4:

Code

=СУММЕСЛИМН(F2:F16;B2:B16;I2;D2:D16;J2;A2:A16;K2)

В английской версии:

Code

=SUMIFS(F2:F16,B2:B16,I2,D2:D16,J2,A2:A16,K2)

КАК ЭТО РАБОТАЕТ:

Функция СУММЕСЛИМН требует обязательно указать диапазон суммирования (в нашем случае F2:F16) и хотя бы одну пару Диапазон/Условие.

По сути эта функция «один в один» повторяет действие функции СУММПРОИЗВ в нашем примере, но не является формулой массива.Как сделать сумму по выборке в excel?

МИНУСЫ: нет.

 ОБЛАСТЬ ПРИМЕНЕНИЯ: Начиная с версии Excel 2007.

ПРИМЕЧАНИЯ: Количество пар диапазон/критерий ограничено 127

xls     XLSX

Источник: http://www.excelworld.ru/publ/hacks/tricks/sum_by_several_criteria/17-1-0-30

9 способов как используется функция БДСУММ в Excel

Как сделать сумму по выборке в excel?     Добрый день!

    Продолжу свое стремление описать разнообразие функций в Excel и следующей на рассмотрении у нас функция БДСУММ. Это еще один из представителей функций суммирования, но со своими специфическими условиями. Функция БДСУММ в Excel ищет и суммирует числа в вашей таблице по определенным вами критериям, это ее основное свойство.

  •     Положа руку на сердце могу сказать, что много расчётов и вычислений можно сделать и без нее используя разнообразные функции массивов, функцию СУММЕСЛИМН или СУММПРОИЗВ, но если же вам нужно сделать сложную выборку используя «подстановочные» знаки, то тогда вам точно нужно использовать героя нашей статьи.
  •      Для начала рассмотрим синтаксис, который использует функция БДСУММ в Excel:
  •     =БДСУММ(диапазон вашей базы данных; поле поиска; условие поиска), где
  • Диапазон вашей базы данных – является обязательным критерием и указывается диапазон, из которого и будут по критериям изыматься нужные вам значения, обязательное условие, что бы первая строка содержала в себе заголовок вашей таблицы;
  • Поле поиска – это обязательный критерий, указывается для определения, по которому полю производить поиск и суммирование чисел. Указывать можно как название поля, то есть текстовое значение, типа «Продукт», «Страна», с обязательным взятием аргумента в кавычки, так и числовое значение, типа, 1,2,3… для определения номера поля или просто указать ссылку на нужное поле, решать вам;
  • Условие поиска – это обязательный аргумент, который содержит в себе диапазон с указанными в нём критериями для суммирования значений. Аналогичная структура таблицы используется при создании расширенного фильтра. Как сделать сумму по выборке в excel?

      При работе с функцией БДСУММ стоить отметить несколько условий, на которые стоит обращать внимание при работе:

  • При выполнении работы над целым столбиком заполненным данными, обязательно стоит вставить пустую строку под заголовками столбиков в указанном диапазоне критериев;
  • Диапазон критериев не должен иметь пересечения со списком;
  • Хотя данные для формирования диапазона условий вы можете помещать в любое место на листе, но тем не менее, помещать его после списка не следует, так как данные которые мы добавляем в список, будут вставляться в первую строку после списка и если в строке есть данные, то добавить новые не получится;
  • Можно использовать для условий любой диапазон, который содержит, как минимум один заголовок и хотя бы одну из ячеек, которая расположена под заголовком и содержит в себе условие.

      Итак, теоретическую часть, я считаю выполненной, приступим теперь к практическому применению функции БДСУММ в своей работе, для этого рассмотрим несколько примеров для выполнения, я примеры сделал по принципу расширенного фильтра, но вместо сбора значений по критерию будет суммирование:

Функция БДСУММ с одним числовым критерием

      Итак, для начала рассмотрим простой пример с одним числовым критерием, для этого выберем столбик «Урожай» и укажем что нам надо деревья с урожайность «>=10». Что бы получить результат нам нужна формула такого вида (советую использовать абсолютные ссылки):

      =БДСУММ($B$6:$G$12;E6;E2:E3),

     где, $B$6:$G$12 диапазон в котором мы будем суммировать, E6 – столбик в котором мы будем суммировать и E2:E3 диапазон в которые мы ввели критерии для суммирования. В итоге формула нашла 3 позиции на общую сумму 34.

  1.       Для получения аналогично результата вы можете воспользоваться также такими формулами:
  2.       =СУММЕСЛИ(E7:E12;»>=10″)
  3.       =СУММЕСЛИ(E7:E12;E3) Как сделать сумму по выборке в excel?

Функция БДСУММ с одним текстовым критерием

    Теперь рассмотрим, как ведет себя функция БДСУММ с текстовыми критериями, в общем всё остается так и в предыдущем примере за исключением того как указывается текстовый критерий, а он указывается только в таком виде: =»=с.Серово» и тогда результат у вас получится, иначе формула не сможет распознать ваш критерий. Теперь подставляем этот критерий в формулу и получаем:

  •      =БДСУММ($B$6:$G$12;E6;C2:C3), как видим произошло только изменения диапазона критерия.
  • Для получения схожего результата вам пригодится функция СУМЕСЛИ:
  •      =СУММЕСЛИ(C7:C12;»с.Серово»;E7:E12) Как сделать сумму по выборке в excel?

Суммирование по двум критериям по разным столбцам

      Пример усложняется применением двух критериев, но ничего принципиально нового мы применять не будем, укажем текстовый критерий «с.Серово» и числовой критерий «>=10», оставив поле суммирование «Урожай», мы получим изменение формулы только по последнему аргументу, как результат. Теперь наша формула будет выглядеть так:

  1.        =БДСУММ($B$6:$G$12;E6;C2:E3), снова видите изменения только адреса диапазона критерия.
  2.       Альтернативный вариант можно получить с помощью функции СУММЕСЛИМН и так:
  3.       =СУММЕСЛИМН(E7:E12;C7:C12;C3;E7:E12;E3)
  4.       =СУММЕСЛИМН(E7:E12;C7:C12;»с.Серово»;E7:E12;»>=10″) Как сделать сумму по выборке в excel?

Суммирование по одному из двух условий в одном столбике

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

  •      =БДСУММ($B$6:$G$12;E6;C2:C4), здесь снова изменяем диапазон критерия, но не в ширину, а в высоту.
  •      Также заменителем, вы можете использовать сумму функции СУММЕСЛИ:
  •      =СУММЕСЛИ(C7:C12;C3;E7:E12)+СУММЕСЛИ(C7:C12;C4;E7:E12). Как сделать сумму по выборке в excel?

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

      Пятым примером применения БДСУММ в Excel станет суммирование по одному из двух условий в двух разных столбиках и обязательно аргументы нужно размещать все в новых строках, это позволит их суммировать по очереди. Для этих целей нам понадобится формула:

      =БДСУММ($B$6:$G$12;D6;C2:D4), принцип формирования формулы сохраняется, окромя диапазона критерия, который включает в себя три строки: заголовок и два критерия.

Как сделать сумму по выборке в excel?

Суммирование по двум текстовым критериям по двум столбикам

      В данном примере работы БДСУММ в Excel рассмотрим практически полный аналог ранее рассматриваемого примера, когда были два критерия в двух столбика, но там были числовой и текстовый критерий, а здесь рассмотрим суммирование по двум текстовым критериям и по двум столбикам. Используем критерии «=»=с.Иваново»» и «=»=Вишня»», которые мы и укажем в диапазоне критериев. Значит наша формула будет иметь следующий вид:

     =БДСУММ($B$6:$G$12;D6;B2:C3).Как сделать сумму по выборке в excel?

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

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

    =G7>СРЗНАЧ($G$7:$G$12), не забываем об абсолютных ссылок для закрепления диапазона, что бы при переборе формулой значений они не сползли вниз, а вот значение G7 должно скользить по всему диапазону для определения «ЛОЖЬ» это или «ИСТИНА».

Как сделать сумму по выборке в excel?     Очень важно еще то чтобы названия заголовков не дублировались, имели отличие, поэтому поле критериев я назову «Среднее». И тогда формула начнёт работать, она переберет весь диапазон $G$7:$G$12 на наличие среднего значения и при получении положительного результата «ИСТИНА» она будет суммировать. С этой работой справится формула следующего вида:

  1.      =БДСУММ($B$6:$G$12;G6;$G$2:$G$3)
  2.      А если вам очень интересно альтернативное решение вопроса, то тогда испробуйте вариант с функцией СУММЕСЛИ в таком виде:
  3.      =СУММЕСЛИ($G$7:$G$12;»>»&СРЗНАЧ($G$7:$G$12)) Как сделать сумму по выборке в excel?

Функция БДСУММ по трём критериям

     В этом примере посчитаем среднее по продажам с выращенных плодов в двоих сёлах: «с.Иваново» и «с.Уютное». Основную идею отбора по критериям я уже описывал, поэтому повторятся не буду, просто скажу, что это будет соединение ранее рассмотренных критериев. Для получения результата нам нужна функция БДСУММ в таком виде:

     =БДСУММ($B$6:$G$12;G6;$C$2:$G$4)

Читайте также:  Как сделать так чтобы word исправлял ошибки?

Суммирование по текстовому критерию с учётом регистра

     Как я упоминал ранее, функция БДСУММ может производить поиск не только с подстановочными символами, но и с учётом регистра букв, вот сейчас именно такой вариант. Для начала определим условие по отбору критерия, если встречается название «с.ИВАНОВО», заглавными, то мы производим суммирование, для определения этого критерия нам нужна формула:

     =СОВПАД(«с.

ИВАНОВО»;C7)       А вот теперь мы можем прописать функцию БДСУММ, которая проверит диапазон на наличие указанного критерия и при получении значения «ИСТИНА» произведет суммирование.

В примере я указал специально один раз по условию, и как видим, формула успешно отобрала все населенные пункты и нашла нужный и получили результат «9». Для этого была использована формула:

     =БДСУММ($B$6:$G$12;D6;$C$2:$C$3)        Ну что же, я думаю, что функция БДСУММ в Excel, мною была описана деталь и во многих подробностях, поэтому вопросов будет мало, а пользы много. Если у вас возникли вопросы пишите комментарии, жду ваши лайки и отзывы. О других функциях вы можете ознакомиться в «Справочнике функций» на моем сайте.

      Успехов вам в ваших делах!

«За деньги можно, конечно, купить очаровательного пса, но никакие деньги не смогут заставить его радостно вилять хвостом.»

Д. Биллингс

Статья помогла? Поделись ссылкой с друзьями, твитни или лайкни!

Источник: http://topexcel.ru/9-sposobov-kak-ispolzuetsya-funkciya-bdsumm-v-excel/

Подбор слагаемых под сумму

MulTEx » 19 Июнь 2017       Дмитрий       20045 просмотров

Вызов команды:
MulTEx -группа СпециальныеОсобые возможностиПодбор слагаемых под сумму

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

  • подобрать из каталога подарочных товаров те, общая сумма которых будет равна сумме подарочного сертификата. В дальнейшем различные варианты товаров можно рассылать клиентам в качестве идей для использования сертификата
  • заказ был оплачен в разные периоды несколькими накладными и необходимо собрать из имеющихся накладных те, которые в сумме дают сумму этого заказа
  • для распределения грузов по машинам/контейнерам. К примеру, в один контейнер необходимо разместить 9 или 10 ящиков, общий вес которых не превышает 32 тонны, плюс-минус 150кг.
  • так же можно применить и для обратной ситуации: есть общая сумма и перечень транзакций. Но общая сумма транзакций больше и необходимо понять, какая транзакция лишняя. Просто вычисляем те, которые могут составлять известную сумму, а оставшиеся скорее всего и есть лишние.

Как сделать сумму по выборке в excel?

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

Сумма будет занесена в поле. Руками сумма должна вписываться без пробелов и лишних знаков.
Просматривая числа в ячейках — указываются ячейки, в которых расположены суммы для подбора суммы.

Ячейки могут располагаться на любом листе любой открытой книги.

Комбинация — набор чисел, дающих при сложении нужную сумму. Например, задана сумма: 200.
Её могут дать комбинации из трех чисел:

  • = 20 + 30 + 150
    = 50 + 70 + 80
  • = 20 + 30 + 50 + 100
    = 50 + 70 + 60 + 20
  • Комбинация подходит, если:

Или из четырех:
И множество других комбинаций с различным количеством слагаемых.

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

Команда Подбор слагаемых под сумму позволяет использовать от 1 до 150 слагаемых для подбора комбинаций. Чем больше диапазон, тем больше вероятность подбора нужной суммы.

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

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

допустимое отклонение — указывается, подбирать ли примерное совпадение. Например, для подбора суммы 200 можно указать отклонение 1. Тогда сумма чисел 20+30+149 (равно как и 20+30+151) будет считаться подходящей комбинацией.

Разберем возможные результаты на примере таблицы накладных:
Как сделать сумму по выборке в excel?
Исходные суммы записаны в ячейках C5:C25 — именно из них будут составляться различные комбинации. Переходим на вкладку MulTEx -группа СпециальныеОсобые возможностиПодбор слагаемых под сумму, указываем следующие параметры:

    Собрать сумму: щелкаем по ячейке D2(сумма появится в поле) или вручную вводим 51200.
    Просматривая числа в ячейках: указываем диапазон C5:C25.
    Комбинация подходит, если:

      Количество слагаемых не менее: 3
      и не более: 10

    Указываем округлять до 2-х знаков после запятой, а допустимую погрешность выставляем равной 0.

Отобразить результат как:

  • Первую подходящую комбинацию чисел, начиная с ячейки: указывается ячейка на листе, начиная с которой последовательно будут записаны все числа, из которых складывается указанная сумма. Результат будет примерно такой(без заливки ячеек красным):
    Как сделать сумму по выборке в excel?
  • Первые N комбинаций, начиная с ячейки
    программа позволяет подобрать до 20 различных комбинаций чисел, которые дадут при сложении нужную сумму. При помощи этих параметров можно выбрать сколько комбинаций выводить и как именно их отображать. Если общее количество комбинаций будет меньше заданного, то будут записаны все доступные комбинации.
    Для демонстрации работы программы приводятся решения с подбором 3-х комбинаций.

    • формулой со ссылками на числа — начиная с указанной ячейки будет записано указанное количество комбинаций. Каждая комбинация будет записана в отдельную ячейку в виде формулы со ссылками на те ячейки, которые при сложении дадут нужную сумму:
      Как сделать сумму по выборке в excel?
    • формулой из чисел — начиная с указанной ячейки будет записано указанное количество комбинаций. Каждая комбинация будет записана в отдельную ячейку в виде статичной формулы из чисел, которые при сложении дадут нужную сумму:
      Как сделать сумму по выборке в excel?
    • текстом, записав слагаемые с разделителем — сначала в поле указывается разделитель. После нажатия Ок, начиная с указанной ячейки будет записано указанное количество комбинаций. Каждая комбинация будет записана в отдельную ячейку в виде текста, в котором через указанный разделитель будут записаны все числа, дающие при сложении нужную сумму:
      Как сделать сумму по выборке в excel?
  • Закрасить первые N комбинаций указанными цветами — в исходном диапазоне чисел указанным цветом будут закрашены те ячейки, числа в которых при сложении дадут нужную сумму. Если выбрано более 1-ой комбинации, то для 2-ой и последующих комбинаций закрашиваются ячейки следующих столбцов. Сначала указывается количество комбинаций для выделения и последовательно цвета для каждой комбинации. Цвета выбираются щелчком мышью по иконке с палитрой:
    Как сделать сумму по выборке в excel?
    После нажатия Ок ячейки в столбцах будут окрашены в указанные цвета:Как сделать сумму по выборке в excel?
    Это даст возможность визуально быстро сравнить и подобрать наиболее выгодную и подходящую под требования комбинацию. Так же это может пригодиться, если нужно знать не только суммы, но и номера накладных.

    Закрасить можно не более 5-ти комбинаций.

Как сделать сумму по выборке в excel?

  • увеличить диапазон количества слагаемых(например, вместо от 3 до 10 задать от 2 до 15)
  • уменьшить количество знаков после запятой
  • увеличить допустимое отклонение

Источник: https://www.excel-vba.ru/multex/podbor-slagaemyx-pod-summu/

Excel: как подсчитать сумму по категориям

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

Как сделать сумму по выборке в excel?

Общая сумма затрат понятна, но хотелось бы видеть более конкретный расклад по статьям расходов.

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

Я не пользуюсь русским Office, т.к. не понимаю локализованные формулы Excel. Поэтому приверженцам тотальной локализации придется потерпеть скриншоты английского интерфейса. Ссылки по теме:

Теперь к делу!

Способ 1 – Сводная таблица

Выделите ячейки с расходами (кроме итога) и выберите на ленте Вставка (Insert) – Сводная таблица (Pivot Table).

Как сделать сумму по выборке в excel?Увеличить рисунок

Сводная таблица откроется в новом листе. Дальше в Excel 2013 все элементарно — установите флажки полей для отображения, как показано в правой части рисунка ниже.

Как сделать сумму по выборке в excel?Увеличить рисунок

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

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

Как сделать сумму по выборке в excel?

В строке GrandTotal отобразится сумма строк, выбранных фильтром. Чтобы не возиться с фильтрами вручную каждый раз, имело смысл ввести категории еще на первом листе, как я сказал выше. Но можно достичь желаемого результата прямо в сводной таблице. Читатель Павел Симаков записал для вас отличное видео о группировке данных в сводной таблице!

Я знал о сводных таблицах, но фильтры навели меня на мысль о том, нельзя ли обойтись без сводной таблицы. Оказалось, что можно!

Способ 2 – Сумма отфильтрованных значений

На исходном листе:

  1. Выделите столбцы с данными и выберите на ленте Данные (Data) – Фильтр (Filter). Я рекомендую выделять именно столбцы, т.к. при выделении ячеек автоматический фильтр может не сработать (коллега по работе совсем недавно впал в ступор от такого).
  2. Замените формулу СУММА (SUM) на ПРОМЕЖУТОЧНЫЕ.ИТОГИ (SUBTOTAL), указав в качестве номера функции значение 9. Оно отвечает за сумму отображаемых строк.
  3. Выберите фильтром нужные названия или категорию, если имеется.

Вуаля! Общая сумма расходов в кафе как на ладони.

Как сделать сумму по выборке в excel?

Вводя формулу SUBTOTAL, вы могли заметить, что у нее 11 функций, причем название каждой повторяется дважды (1 и 101, 2 и 102, и т.д.)

Как сделать сумму по выборке в excel?

«Сотенные» функции учитывают скрытые строки — проверьте их работу самостоятельно.

Способ 3 – Форматировать как таблицу

Спасибо читателю Сергею, напомнившему в х об этом простом способе. Он подробно описан в статье Николая Павлова (MVP Excel) Умные таблицы. Кстати, они тоже используют формулу SUBTOTAL 🙂

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

А что вы в последний раз считали в Excel? 🙂 Напишите в х!

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

Источник: http://www.outsidethebox.ms/15393/

Фишки в Excel: секрет 4. Выборочное суммирование

Как сделать сумму по выборке в excel?Чаще всего мы пользуемся возможностями программы Microsoft Word, но время от времени нам приходится обращаться и к Microsoft Excel. В основном это 5% от ее возможностей, но не стоит так бояться таблиц и формул. На самом деле это программа скрывает в себе огромное количество секретов, раскрыв которые можно облегчить себе работу, автоматизировать расчеты и многое другое.

Читайте также:  Перекрестная ссылка в word 2010 как сделать

Раскроем небольшие секреты MS Excel, которые могут быть полезны для бизнеса.

Секрет 4. Выборочное суммирование

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

Как сделать сумму по выборке в excel?

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

Рядом с таблицей построит небольшую табличку, в которой будут отражаться нужные нам значения:

Как сделать сумму по выборке в excel?

  • В ячейку F4 вводим формулу =А3, чтобы отображалась нужная нам фамилия.
  • В ячейку F5 вводим формулу =В3, чтобы отображался нужный нам тип товара.
  • В ячейку F6 вводим формулу =СУММ((A3:A10=F4)*(B3:B10=F5)*C3:C10). Разберем ее по шагам:
    • Вводим =СУММ(). В скобках будет три множителя, знак умножения ставится символом *.
    • Первый множитель. Открываем скобку и с помощью мыши выделяем диапазон A3:A10, ставим знак = и щелкаем с помощью мыши в ячейку F4, закрываем скобки. Должна появиться надпись: (A3:A10=F4). Таким образом, мы указываем, что из нужного нам диапазона столбца А необходимо выбрать фамилию Иванов.
    • Второй множитель. Открываем скобку и с помощью мыши выделяем диапазон В3:В10, ставим знак = и щелкаем с помощью мыши в ячейку F5, закрываем скобки. Должна появиться надпись: (В3:В10=F5). Таким образом, мы указываем, что из нужного нам диапазона столбца В необходимо выбрать тип товара №1.
    • Третий множитель (его в скобки не заключаем). С помощью мыши выделяем диапазон С3:С10. Должна появиться надпись: С3:С10. Таким образом, мы указываем, что из нужного нам диапазона столбца С необходимо подсчитать общую сумму, удовлетворяющую указанным условиям.
  • Вместо клавиши Enter нажимаем комбинацию клавиш Ctrl + Shift + Enter.

Как сделать сумму по выборке в excel?

Можно немного усовершенствовать вторую таблицу и создать раскрывающийся список в строках Заказчик и Тип товара (ячейки F4 и F5). Более подробно об этом написано в уроке «Раскрывающийся список в MS Excel». Тогда можно будет выбирать данные Заказчик и Тип товара из списка.

Как сделать сумму по выборке в excel?

СДЕЛАЙТЕ ДОБРОЕ ДЕЛО, ПОДЕЛИТЕСЬ С ДРУЗЬЯМИ

Источник: https://nagel-heart.ru/izuchaem-ms-office/fishki-v-excel-sekret-4-vyiborochnoe-summirovanie

Запрос на выборку данных (формулы) в MS EXCEL

Суть запроса на выборку – выбрать из исходной таблицы строки, удовлетворяющие определенным критериям (подобно применению стандартного Фильтра). Произведем отбор значений из исходной таблицы с помощью формул массива. В отличие от применения Фильтра (CTRL+SHIFT+L или ) отобранные строки будут помещены в отдельную таблицу.

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

1. Один числовой критерий (Выбрать те Товары, у которых цена выше минимальной)

Пусть имеется Исходная таблица с перечнем Товаров и Ценами (см. файл примера, лист Один критерий — число).

Как сделать сумму по выборке в excel?

Необходимо отобразить в отдельной таблице только те записи (строки) из Исходной таблицы, у которых цена выше 25.

Решить эту и последующие задачи можно легко с помощью стандартного фильтра. Для этого выделите заголовки Исходной таблицы и нажмите CTRL+SHIFT+L. Через выпадающий список у заголовка Цены выберите Числовые фильтры…, затем задайте необходимые условия фильтрации и нажмите ОК.

Как сделать сумму по выборке в excel?

Будут отображены записи удовлетворяющие условиям отбора.

Как сделать сумму по выборке в excel?

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

Критерий (минимальную цену) разместим в ячейке Е6, таблицу для отфильтрованных данных — в диапазоне D10:E19

Как сделать сумму по выборке в excel?

Теперь выделим диапазон D11:D19 (столбец Товар) и в Строке формул введем формулу массива:

=ИНДЕКС(A11:A19;НАИМЕНЬШИЙ(ЕСЛИ($E$6=$B$13:$B$21 гарантирует, что будут отобраны даты не позже заданной (включая). Условие $B$13:$B$21>0 необходимо, если в диапазоне дат имеются пустые ячейки. Знак * (умножение) используется для задания Условия И (все 3 критерия должны выполняться для строки одновременно).

Примечание. Случай, когда список несортирован, рассмотрен в статье Поиск ДАТЫ (ЧИСЛА) ближайшей к заданной, с условием в MS EXCEL. Несортированный список.

7. Один Текстовый критерий (Выбрать Товары определенного вида)

Пусть имеется Исходная таблица с перечнем Товаров и Ценами (см. файл примера, лист Один критерий — Текст).

Задача решается аналогично Задачам 1 и 3. Более подробное решение см. в статье Поиск ТЕКСТовых значений в MS EXCEL с выводом их в отдельный список. Часть1. Обычный поиск.

8. Два Текстовых критерия (Выбрать Товары определенного вида, поставленные в заданный месяц)

Пусть имеется Исходная таблица с перечнем Товаров и Ценами (см. файл примера, лист 2 критерия — текст (И)).

  • Для отбора строк используется формула массива:
  • =ИНДЕКС($A$11:$A$19;НАИМЕНЬШИЙ(ЕСЛИ(($F$6=$A$11:$A$19)*($F$7=$B$11:$B$19);СТРОКА($A$11:$A$19)-СТРОКА($A$10);30);СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК($A$11:$A$19)))))
  • Выражение ($F$6=$A$11:$A$19)*($F$7=$B$11:$B$19) задает оба условия (Товар и Месяц).

Выражение СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК($A$11:$A$19))) формирует массив последовательных чисел {1:2:3:4:5:6:7:8:9}, т.е. номера строк в таблице.

9. Два Текстовых критерия (Выбрать Товары определенных видов)

Пусть имеется Исходная таблица с перечнем Товаров и Ценами (см. файл примера, лист 2 критерия — текст (ИЛИ)).

  1. В отличие от Задачи 7 отберем строки с товарами 2-х видов (Условие ИЛИ).
  2. Для отбора строк используется формула массива:
  3. =ИНДЕКС(A$11:A$19;НАИБОЛЬШИЙ((($E$6=$A$11:$A$19)+($E$7=$A$11:$A$19))*(СТРОКА($A$11:$A$19)-СТРОКА($A$10)); СЧЁТЕСЛИ($A$11:$A$19;$E$6)+СЧЁТЕСЛИ($A$11:$A$19;$E$7)-ЧСТРОК($A$11:A11)+1))

Условие ($E$6=$A$11:$A$19)+($E$7=$A$11:$A$19) гарантирует, что будут отобраны товары только заданных видов из желтых ячеек (Товар2 и Товар3). Знак + (сложение) используется для задания Условие ИЛИ (должен быть выполнен хотя бы 1 критерий).

Вышеуказанное выражение вернет массив {0:0:0:0:1:1:1:0:0}. Умножив его на выражение СТРОКА($A$11:$A$19)-СТРОКА($A$10), т.е. на массив последовательных чисел {1:2:3:4:5:6:7:8:9}, получим массив позиций (номеров строк таблицы), удовлетворяющих критериям. В нашем случае это будет массив {0:0:0:0:5:6:7:0:0}.

С помощью функции НАИБОЛЬШИЙ() выведем 3 значения из позиции 5 (строка 15 листа), 6 (16) и 7 (17), т.е. значения Товар2, Товар2 и Товар3.

Для этого используем выражение СЧЁТЕСЛИ($A$11:$A$19;$E$6)+СЧЁТЕСЛИ($A$11:$A$19;$E$7)-ЧСТРОК($A$11:A11)+1, которое последовательно (начиная со строки 11) будет возвращать числа 3; 2; 1; 0; -1; -2; … Формула НАИБОЛЬШИЙ(…;3) вернет число 5, НАИБОЛЬШИЙ(…

;2) вернет число 6, НАИБОЛЬШИЙ(…;1) вернет число 7, а НАИБОЛЬШИЙ(…;0) и далее вернет ошибку, которую мы скроем условным форматированием.

И наконец, с помощью функции ИНДЕКС() последовательно выведем наши значения из соответствующих позиций: =ИНДЕКС(A$11:A$19;5) вернет Товар2, =ИНДЕКС(A$11:A$19;6) вернет Товар2, =ИНДЕКС(A$11:A$19;7) вернет Товар3.

10. Отбор значений с учетом повторов

В разделе Отбор на основании повторяемости собраны статьи о запросах с группировкой данных. Из повторяющихся данных сначала отбираются уникальные значения, а соответствующие им значения в других столбцах — группируются (складываются, усредняются и пр.).

  • Наиболее популярные статьи из этого раздела:
  • Отбор уникальных значений (убираем повторы из списка) в MS EXCEL
  • Отбор уникальных значений с суммированием по соседнему столбцу в MS EXCEL
  • Отбор повторяющихся значений в MS EXCEL
  • Отбор уникальных значений из двух диапазонов в MS EXCEL
  • Отбор уникальных СТРОК с помощью Расширенного фильтра в MS EXCEL
  • В качестве примера приведем решения следующей задачи: Выбрать Товары, цена которых лежит в определенном диапазоне и повторяется заданное количество раз или более.
  • В качестве исходной возьмем таблицу партий товаров.

Предположим, что нас интересует сколько и каких партий товаров поставлялось по цене от 1000р. до 2000р. (критерий 1). Причем, партий с одинаковой ценой должно быть минимум 3 (критерий 2).

  1. Решением является формула массива:
  2. =НАИМЕНЬШИЙ(СТРОКА($A$14:$A$27)*($C$14:$C$27>=$B$7)*($C$14:$C$27=$B$10);F14+($G$8-$G$9))
  3. Эта формула возвращает номера строк, которые удовлетворяют обоим критериям.
  4. Формула =СУММПРОИЗВ(($C$14:$C$27>=$B$7)*($C$14:$C$27=$B$10)) подсчитывает количество строк, которые удовлетворяют критериям.

В файле примера на листе «10.Критерий — колич-во повторов» настроено Условное форматирование, которое позволяет визуально определить строки удовлетворяющие критериям, а также скрыть ячейки, в которых формула массива возвращает ошибку #ЧИСЛО!

11. Используем значение критерия (Любой) или (Все)

В фильтре Сводных таблиц MS EXCEL используется значение (Все), чтобы вывести все значения столбца. Другими словами, в выпадающем списке значений критерия содержится особое значение, которое отменяет сам критерий (см. статью Отчеты в MS EXCEL, Отчет №3).

В файле примера на листе «11. Критерий Любой или (Все)» реализован данный вариант критерия.

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

  • =ЕСЛИ($C$8=»(Все)»;НАИМЕНЬШИЙ((СТРОКА($B$13:$B$26)-СТРОКА($B$12))*($D$13:$D$26>=$D$8);F13+($G$6-$G$7));
  • НАИМЕНЬШИЙ((СТРОКА($B$13:$B$26)-СТРОКА($B$12))*($D$13:$D$26>=$D$8)*($C$13:$C$26=$C$8);F13+($G$6-$G$7)))
  • Остальная часть формулы аналогична рассмотренным выше.

Источник: https://excel2.ru/articles/zapros-na-vyborku-dannyh-formuly-v-ms-excel

Как в EXCEL сложить числа в ячейках по определённому условию

Как сделать сумму по выборке в excel?

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

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

Как сделать сумму по выборке в excel?

Для примера возьмём категорию расходов «Покупки в магазинах». Нам надо, чтобы EXCEL находил все затраты по данной категории в детальной статистике, суммировал расходы по данной категории и записывал полученную сумму в ячейку D10.

Сначала запишем готовую формулу, которую вставляем в ячейку D10, а потом начнём разбираться в деталях. Готовая формула выглядит следующим образом (только для нашей статьи):

=СУММЕСЛИ($G$5:$G$300;(«Покупки в магазинах»);$H$5:$H$300)

Цветом выделены различные условия, чтобы было наглядней. Разберём по порядку. В процессе описания смотрите на картинку выше, чтобы было понятней. Делая снимок специально были захвачены буквы столбцов и цифры строк. Итак, приступаем.

  • СУММЕСЛИ – этим условием мы говорим, что в ячейку надо записывать сумму значений определённых ячеек, если они соответствуют определённым условиям;
  • $G$5:$G$300 – здесь мы указываем EXCEL, в каком столбце нам надо искать условие для выборки. В нашем случае поиск происходит в столбце G начиная со строки 5 и заканчивая строкой 300;
  • («Покупки в магазинах») – здесь мы указываем искомое условие и по этому условию будут суммироваться значения ячеек, которые мы указываем далее…;
  • $H$5:$H$300 – здесь мы указываем столбец, из которого будут браться числа для суммирования. В нашем случае значения берутся в столбце H начиная со строки 5 и заканчивая строкой 300.

Подводя итог можно сказать, что EXCEL суммирует только те значения из диапазона H5:H300, для которых соответствующие значения из диапазона G5:G300 равны «Покупки в магазинах» и записывает результат в ячейку D10.

Соответствующим образом можно в EXCEL сложить числа в ячейках по любому условию.

Знак $ в формуле используется для того, чтобы при копировании формулы с ячейки D10 в другие ячейки не происходило смещение. Рассмотрим пример формулы без знака $. К примеру, в ячейке D10 у нас вписана формула:

=СУММЕСЛИ(G5:G300;(«Покупки в магазинах»);H5:H300)

Далее мы хотим выводить сумму обедов в ячейке D11. Чтобы нам не переписывать формулу, нам можно копировать ячейку D10 и вставить в ячейку D11. Благодаря этому формула будет вставлена в D11, но тут мы можем заметить, что формула изменила значения заменив 5 на 6 и 300 на 301:

=СУММЕСЛИ(G6:G301;(«Покупки в магазинах»);H6:H301)

Читайте также:  Подстрочный текст в word как сделать

Произошло смещение. Если мы скопируем формулу в D12, то увидим уже смещение на 2 и так далее. Чтобы этого избежать мы формулу пишем со знаком $. Такие особенности EXCEL.

Таблица «Учёт ежемесячных расходов» — скачать

Источник: https://victorz.ru/2016042149

Финансы в Excel

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

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

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

Методы переноса данных в Excel могут быть различны:

  • Копирование-вставка результатов запросов
  • Использование стандартных процедур импорта (например, Microsoft Query) для формирования данных на рабочих листах
  • Использование программных средств для доступа к базам данных с последующим переносом информации в диапазоны ячеек
  • Непосредственный доступ к данным без копирования информации на рабочие листы
  • Подключение к OLAP-кубам

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

Обработка этих данных в Excel может вестись различными методами. Выделим основные способы работы:

  1. Обработка данных стандартными средствами интерфейса Excel
  2. Анализ данных при помощи сводных таблиц и диаграмм
  3. Консолидация данных при помощи формул рабочего листа
  4. Выборка данных и заполнение шаблонов для получения отчета
  5. Программная обработка данных

Правильность выбора способа работы с данными зависит от конкретной задачи. У каждого метода есть свои преимущества и недостатки.

В данной статье будут рассмотрены способы консолидации и выборки данных при помощи стандартных формул Excel. 

Описание примеров

Примеры к статье построены на основе демонстрационной базы данных, которую можно скачать с сайта Microsoft

http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=19704

Выгруженный из этой базы данных набор записей сформирован при помощи Microsoft Query.

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

Файл nwdata_sums.xls используется для версий Excel 2000-2003

Файл nwdata_sums.xlsx имеет некоторые отличия и используется для версий Excel 2007-2010.

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

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

Применение метода

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

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

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

Очевидно, что проблема возникает при обновлении исходных данных (например, при добавлении новых строк) – требуется заново копировать результаты консолидации из сводной таблицы.

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

Еще один классический пример непригодности применения сводной таблицы – это требование формирования отчета в заранее предопределенном виде («начальство требует в такой форме и никак иначе»).

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

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

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

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

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

Суммирование по одному ключевому полю

Таблицы с формулами на листе SUM показывают вариант решения задачи консолидации данных по одному ключевому значению.

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

SUM!B5

=SUMIF(data!$H:$H;A5;data!$M:$M)

SUM!B11

=SUMIF(data!$Z:$Z;A11;data!$M:$M)

Нижние таблицы показывают возможности другой редко используемой функции DSUM

SUM!B19

=DSUM(data!$A$1:$AJ$2156;»Quantity»;D18:D19)

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

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

SUM!B28

=DSUM(data!$A$1:$AJ$2156;»Quantity»;D27:D28)

SUM!D28

Здесь data!Z2 означает ссылку на текущую строку данных, а не на конкретную ячейку, так как используется относительная ссылка. К сожалению, нельзя указать в третьем параметры ссылку на одну ячейку – строка заголовка полей все равно требуется, хотя и может быть пустой.

В принципе, функции типа DSUM являются устаревшим методом работы с данными, в подавляющем большинстве случаев лучше использовать SUMIF, SUMPRODUCT или формулы обработки массивов.

Но иногда их применение может дать хороший результат, например, при совместном использовании с интерфейсной возможностью «расширенный фильтр» – в обоих случаях используется одинаковое описание условий через дополнительные диапазоны.

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

Таблицы с формулами на листе SUM2 показывают вариант суммирования по нескольким критериям.

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

SUM!D5

=SUMIF(A:A;B5 & «;» & C5;data!M:M)

Операция «&» используется для соединения строк. Можно также вместо этого оператора использовать функцию CONCATENATE. Промежуточный символ «;» (или любой другой служебный символ) необходим для обеспечения уникальности сцепленных строковых значений.

Пример: Есть, если два поля с перечнем слов. Пары слов «СТОЛ»-«ОСЬ» и «СТО»-«ЛОСЬ» дают одинаковый ключ «СТОЛОСЬ». Что соответственно даст неверный результат при консолидации данных. При использовании служебного символа комбинации ключей будут уникальны «СТОЛ;ОСЬ» и «СТО;ЛОСЬ», что обеспечит корректность вычислений.

  • Использовать подобную методику создания уникального ключа можно не только для строковых, но и для числовых целочисленных полей.
  • Второй пример – это популярный вариант использования функции SUMPRODUCT с проверкой условий в виде логического выражения:
  • SUM!D13

=SUMPRODUCT((data!$H$2:$H$3000=B13)*(data!$Z$2:$Z$3000=C13)*data!$M$2:$M$3000)

Обрабатываются все ячейки диапазона (data!$M$2:$M$3000), но для тех ячеек, где условия не выполняются, в суммирование попадает нулевое значение (логическая константа FALSE приводится к числу «0»). Такое использование этой функции близко по смыслу к формулам обработки массива, но не требует ввода через Ctrl+Shift+Enter.

Третий пример аналогичен, описанному использованию функций DSUM для листа SUM, но в нем для диапазона условий использовано несколько полей.

SUM!D21

=DSUM(data!$A$1:$AJ$2156;»Quantity»;F20:G21)

Четвертый пример – это использование функций обработки массивов.

SUM!D32

{=SUM(IF(data!$H$2:$H$3000=B32;IF(data!$Z$2:$Z$3000=C32;data!$M$2:$M$3000)))}

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

  1. Пятый пример содержится только в файле формата Excel 2007 (xlsx). Он показывает возможности новой стандартной функции
  2. SUMIFS
  3. SUM!D40

=SUMIFS(data!$M$2:$M$3000;data!$H$2:$H$3000;B40;data!$Z$2:$Z$3000;C40)

Поиск по одному критерию

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

Первый вариант – это использование популярной функции VLOOKUP.

SEARCH!B5

=VLOOKUP(A5;data!$H$1:$M$3000;6;0)

Во втором вариант использовать VLOOKUP нельзя, так как результирующее поле находится слева от искомого. В данном случае используется сочетание функций MATCH+OFFSET.

SEARCH!C13

=MATCH(A13;data!$Z$1:$Z$3000;0)

SEARCH!B13

=OFFSET(data!$M$1;C13-1;0)

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

Поиск по нескольким критериям

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

В первом варианте используется техника использования служебного столбца, описанная в примере к листу SUM2:

SEARCH2!Е5

=VLOOKUP(C5 & «;» & D5;$A$1:$B$3000;2;0)

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

SEARCH2!Е 12

{=OFFSET(data!$M$1;MATCH(C13 & «;» & D13; data!$H$1:$H$3000 & «;» & data!$Z$1:$Z$3000;0)-1;0)}

Четвертый и пятый параметр в функции OFFSET используется для образования массива и определяет его размерность в строках и столбцах.

Выборка по одному критерию

Таблица на листе SELECT показывает вариант фильтрации данных через формулы.

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

SELECT!С4

=COUNTIF(data!$H:$H;$A$5)

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

SELECT!С5

=MATCH($A$5;data!$H$1:$H$3000;0)

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

SELECT!С6

=MATCH($A$5;OFFSET(data!$H$1;C5;0; ROWS(data!$H$1:$H$3000)-C5;1);0)+C5

Результат выдается через функцию вычисляемой адресации:

SELECT!B6

=IF(ISNA(C6);»»;OFFSET(data!$M$1;C6-1;0))

Вместо функции проверки наличия ошибки ISNA можно сравнивать текущую строку с максимальным количеством, так как это сделано в столбце A.

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

Выборка вариантов

Самый сложный вариант выборки по ключевому полю представлен на листе SELECT2. Формулы сами определяют все доступные ключевые значения второго критерия.

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

SELECT2!B2

=IF(LEFT(A2;LEN($D$5)) & «;» = $D$5 & «;»; data!Z2;»»)

Третий служебный столбец проверяет значение второго ключа на уникальность:

SELECT2!C2

=IF(B2=»»;0;IF(ISNA(MATCH(B2;B$1:B1;0));COUNTIF(C$1:C1;»>0″)+1;0))

Результирующий столбец второго ключа ProductName ищет уникальные значения в служебном столбце C:

SELECT2!E5

=IF(ISNA(MATCH(ROWS($5:5);$C$1:$C$3000;0));»»;OFFSET($B$1;MATCH(ROWS($5:5);$C$1:$C$3000;0)-1;0))

Столбец Quantity просто суммирует данные по двум критериям, используя технику, описанную на листе SUM2.

SELECT2!F5

=IF(E5=»»;»»;SUMPRODUCT((data!$H$2:$H$3000=D5)*(data!$Z$2:$Z$3000=E5)*data!$M$2:$M$3000))

Заключение

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

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

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

Источник: https://www.excelfin.ru/index.php/addinsdesc/124

Ссылка на основную публикацию
Adblock
detector