Материалы
В приложении к статье файл с простой задачей суммирования диапазона по различным условиям.
Как ни странно, подобные задачи вызывают серьезные трудности даже у опытных пользователей Excel, работающих с большими объемами данных. Попробуйте решить самостоятельно (лист ЗАДАЧА) – вычислите значения в желтых ячейках, формулы должны копироваться. Подразумевается также, что даты в исходной таблице и в условиях могут быть любыми.
СУММЕСЛИ, СУММЕСЛИМН
Итак, рассмотрим первый вариант решения задачи, тот, на котором спотыкается большинство пользователей – лист ОШИБКИ.
Первое, что приходит в голову подавляющему большинству – это использовать формулу SUMIF для первой задачи и SUMIFS для остальных:
Функция СУММЕСЛИМН не работает, так как она более требовательна к размерам диапазонов – просто выдает ошибку, если количество ячеек в массивах значений и условий не совпадает. Причем важно не только количество ячеек, но и их расположение – по строкам или столбцам.
Можно сделать вывод, что простое использование SUMIFи SUMIFSв данном случае не подходит.
Дополнительные вычисления
В условиях задачи нет запрета на использование дополнительных диапазонов для служебных вычислений. Главное, чтобы результат попал в желтые ячейки и формулы были бы копируемыми. Воспользовавшись этой подсказкой большинство опытных пользователей без труда решают задачу с использованием дополнительных столбцов – лист ДОП.ВЫЧ.
Предварительно вычисляются суммы по периодическим условиям, затем этот результат еще раз обрабатывается через суммирование по округам. Т.е. применяется последовательно 2 функции суммирования с разными условиями, но с одинаковыми размерами диапазонов.
Это очевидный и, в принципе, верный подход к решению подобных задач. Использование дополнительных вычислений – это один из главных методов обработки сложных информационных структур.
СУММПРОИЗВ
Но можно ли обойтись без служебных столбцов? Во-первых, просто ради интереса. Во-вторых, бывают случаи, особенно в сложных экономических моделях, когда наличие дополнительных вычислений не приветствуется. Это может быть связано с алгоритмами вставки новых строк, столбцов и т.п.
Самым простым способом является не совсем стандартное использование функции SUMPRODUCT. Функция, предназначенная для суммы произведений чисел, может использоваться также для работы с условиями (см. лист СУММПРОИЗВ):
Можно сказать, что как раз этот метод работы функции SUMPRODUCT, гораздо полезнее на практике, чем вычисление суммы произведений.
Формулы обработки массивов
Если вам удалось понять принцип работы СУММПРОИЗВ, то альтернативный метод решения задачи с применением функций обработки массивов не должен вызвать больших проблем, даже, если вы никогда не сталкивались с подобной записью (см. лист МАССИВЫ).
Формулы также выдают правильный результат, но в записи видны фигурные скобки – такие формулы вводятся через нажатие Ctrl+Shift+Enter:
Принцип работы функций обработки массивов кратко можно изложить следующим образом
- Последовательно просматриваются ячейки в диапазоне строк и столбцов, при этом выбираются соответствующие им значения в прямоугольных диапазонах.
- Каждый шаг образует формулу, которая вычисляется отдельно.
- В конце результат каждого вычисления агрегируется в одно значение (чаще всего используется функция SUM).
Вычисляемая адресация
Пример использования формул с функциями вычисляемой адресацией представлен на листе ВЫЧ.АДРЕС.
В чистом виде использование вычисляемой адресации позволило решить только вторую часть задачи – собрать данные на определенную дату:
Смысл формулы в том, что столбец для суммирования вычисляется через поиск соответствующего заголовка.
Аналогичная логика заложена и в третьей части задачи:
Функция СУММЕСЛИ собирает данные по строкам, а номера столбцов вычисляются сложным образом через вложенные условия IF. Выбранные данные суммируются. Формула требует ввод через Ctrl+Shift+Enter, так как в ней использован метод агрегации (SUM) нескольких найденных значений.
Вариант решения первой части задачи – простого итога по округам – совсем не стандартный:
В формуле использован массив констант , обеспечивающий просмотр семи столбцов. По большому счету это та же обработка массива без сложного поиска, как во второй части задачи – последовательно обрабатываются столбцы, затем происходит общее суммирование. Так как массив состоит из констант, то формула не требует обязательного ввода через Ctrl+Shift+Enter.
Не стоит злоупотреблять вычисляемой адресацией диапазонов там, где это не требуется. На больших объемах данных этот метод будет работать медленнее всех, описанных выше.
Комментарии
Не очень понял проблему. У вас среди значений в столбце присутствуют текстовые ячейки, которые должны пропускаться при суммировании через СУММЕСЛИ?
[expert_bq id=»1570″]Затем, указали номер строки 3 , в которой находятся результаты экзамена для Андрея, и номер колонки 2 , где находятся результаты экзамена именно по физике. Если же вы хотите что-то уточнить, обращайтесь ко мне![/expert_bq] — Форма «Ссылок на данные» используется при поиске значений в нескольких таблицах (используете аргумент [area_num] ([номер_области]) для выбора таблицы и только потом сориентируете функцию по номеру строки и столбца.Финансы в Excel
- Последовательно просматриваются ячейки в диапазоне строк и столбцов, при этом выбираются соответствующие им значения в прямоугольных диапазонах.
- Каждый шаг образует формулу, которая вычисляется отдельно.
- В конце результат каждого вычисления агрегируется в одно значение (чаще всего используется функция SUM).
Например, имеем последовательный ряд чисел от 1 до 10, записанных в ячейках B1:B10. Функция =ПОИСКПОЗ(3;B1:B10;0) вернет число 3, поскольку искомое значение находится в ячейке B3, которая является третьей от точки отсчета (ячейки B1).