Обсудить задачу ↗

← Все статьи

EXCEL · ЧТЕНИЕ 3 МИН

Полезные формулы Excel для автоматизации повседневных задач

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

Формулы в Excel часто воспринимают как «калькулятор для ячеек», хотя это полноценный способ убрать повторяющуюся работу. Ниже — формулы, которые чаще всего заменяют ручное копирование и сверку. Названия функций даны для русской версии, в скобках — английские. В русской локали аргументы разделяются точкой с запятой, в английской — запятой.

Сначала — умная таблица

Прежде чем писать формулы, превратите диапазон в таблицу: выделите данные и нажмите Ctrl+T. Таблица сама расширяется при добавлении строк, а формулы ссылаются на столбцы по имени, например Продажи[Сумма]. Это защищает от самой частой ошибки — формулы, которая «не дотянулась» до новых строк.

Поиск значения по ключу

Задача: по артикулу подтянуть цену из прайса. В современных версиях Excel (2021 и Microsoft 365) используйте ПРОСМОТРX (XLOOKUP):

=ПРОСМОТРX(A2;Прайс[Артикул];Прайс[Цена];"нет в прайсе")

Четвёртый аргумент — что вернуть, если ключ не найден. В старых версиях работает связка ИНДЕКС и ПОИСКПОЗ (INDEX и MATCH):

=ИНДЕКС(Прайс[Цена];ПОИСКПОЗ(A2;Прайс[Артикул];0))

Ноль в конце означает точное совпадение. Без него ПОИСКПОЗ может вернуть соседнюю строку, и ошибка будет незаметной.

Суммы и подсчёты по условиям

СУММЕСЛИМН (SUMIFS) суммирует по нескольким условиям сразу. Например, продажи менеджера из ячейки A2 начиная с даты из F1:

=СУММЕСЛИМН(Продажи[Сумма];Продажи[Менеджер];A2;Продажи[Дата];">="&$F$1)

Условие со знаком сравнения записывается в кавычках и склеивается со ссылкой через &. Для подсчёта строк есть аналог — СЧЁТЕСЛИМН (COUNTIFS) с теми же правилами.

Очистка данных

Данные из выгрузок часто содержат лишние пробелы, неразрывные пробелы и числа в виде текста. Типовая связка:

=СЖПРОБЕЛЫ(ПЕЧСИМВ(ПОДСТАВИТЬ(A2;СИМВОЛ(160);" ")))

Здесь неразрывный пробел (код 160) заменяется на обычный, непечатаемые символы удаляются, а повторяющиеся пробелы сжимаются. Если число хранится как текст, добавьте ЗНАЧЕН (VALUE) или умножьте результат на 1. Результат лучше вставлять в новый столбец и сверять с исходным, а не перезаписывать исходные данные.

Динамические массивы (Microsoft 365)

Эти формулы возвращают сразу несколько значений и «разливают» их по соседним ячейкам:

=УНИК(Продажи[Менеджер])
=ФИЛЬТР(Продажи;Продажи[Статус]="Просрочено";"нет строк")
=СОРТ(УНИК(Продажи[Менеджер]))

УНИК (UNIQUE) строит список без повторов, ФИЛЬТР (FILTER) выбирает строки по условию, СОРТ (SORT) упорядочивает результат. В версиях без динамических массивов этих функций нет — файл при открытии покажет ошибки, поэтому проверьте, в какой версии Excel им будут пользоваться коллеги.

Типичные ошибки

  • ЕСЛИОШИБКА на всё подряд. Она скрывает любые ошибки, включая неверные ссылки. Для «не найдено» точнее ЕСНД (IFNA), которая перехватывает только #Н/Д.
  • Ссылки без закрепления. При копировании формулы диапазон «уезжает». Фиксируйте адреса знаком $ или используйте столбцы таблицы.
  • Данные разного типа. «123» как текст и 123 как число для поиска — разные значения.
  • Весь расчёт в одной формуле. Длинную вложенную формулу сложно проверять. Разбивайте на промежуточные столбцы.

Когда формул недостаточно

Если файлы приходят каждый день в одном формате и их нужно объединять, формулы становятся неудобными. Для этого лучше подходят Power Query (загрузка и преобразование данных) или макрос VBA. А если данные нужно передавать между Excel и другими системами, помогает автоматизация на Python — об этом в статье «Как автоматизировать рутинные задачи с помощью Python».

Практический алгоритм. 1) Оформите данные таблицей. 2) Добавьте столбцы с формулами по одному. 3) Проверьте результат на 5–10 строках вручную. 4) Закройте проверки на пустые и ошибочные значения. 5) Зафиксируйте, из каких файлов берутся данные.

Есть похожая задача?

Опишите, что сейчас делается вручную. Сначала уточним исходные данные и ограничения, затем обсудим объём работ.

Обсудить задачу с DoneCore ↗