Продвинутый Microsoft Excel: анализ данных и автоматизация

Курс для перехода от базовых навыков к профессиональному анализу больших объемов данных. Вы освоите сложные формулы, трансформацию данных через Power Query, создание интерактивных дашбордов и автоматизацию рутинных задач с помощью VBA.

1. Продвинутые формулы и функции

Продвинутые формулы и функции

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

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

Эволюция поиска данных: ПРОСМОТРX

Долгие годы стандартом для связывания таблиц была функция VLOOKUP (ВПР). Однако она имела критические недостатки: умела искать данные только слева направо, ломалась при добавлении новых столбцов и требовала ручного подсчета номеров колонок.

На смену ей пришла функция ПРОСМОТРX (XLOOKUP) — гибкий и мощный инструмент для поиска данных.

> ПРОСМОТРX ищет заданное значение в одном столбце и возвращает соответствующее значение из другого столбца, независимо от того, где этот столбец находится.

Синтаксис функции выглядит так: =ПРОСМОТРX(искомое_значение; массив_поиска; возвращаемый_массив; [если_не_найдено])

Пример из бизнес-практики

Представьте, что у вас есть выгрузка из CRM-системы. В столбце C указаны ID транзакций, а в столбце A — имена менеджеров. Вам нужно найти менеджера по номеру транзакции 1050.

Функция ВПР здесь бессильна, так как имя находится левее ID. С ПРОСМОТРX задача решается элементарно: =ПРОСМОТРX(1050; C2:C100; A2:A100; "Транзакция не найдена")

Здесь мы говорим Excel: найди число 1050 в диапазоне C2:C100 и верни значение из той же строки диапазона A2:A100. Четвертый аргумент позволяет избавиться от некрасивой ошибки #Н/Д, заменив ее на понятный текст.

!Схема работы ПРОСМОТРX — независимые массивы поиска и возврата

Сравнение подходов

| Характеристика | ВПР (VLOOKUP) | ПРОСМОТРX (XLOOKUP) | | :--- | :--- | :--- | | Направление поиска | Только вправо | В любом направлении | | Устойчивость к изменениям | Ломается при вставке столбцов | Работает стабильно | | Обработка ошибок | Требует обертки ЕСЛИОШИБКА | Встроена в саму функцию | | Поиск с конца (снизу вверх) | Невозможно | Поддерживается (5-й аргумент) |

Динамические массивы и функция ФИЛЬТР

В 2020 году в Excel произошло революционное обновление — появились динамические массивы. Ранее одна формула могла вернуть результат только в одну ячейку. Теперь формула, написанная в одной ячейке, может вернуть целую таблицу, которая автоматически «растекается» (spill) на соседние пустые ячейки.

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

Синтаксис: =ФИЛЬТР(массив; включить; [если_пусто])

Практический сценарий

У вас есть таблица продаж на 10 000 строк (диапазон A2:D10000), где столбец B — это отдел, а столбец D — сумма сделки. Вам нужно вывести на отдельный лист все сделки отдела «Маркетинг», сумма которых строго больше 50 000 руб. ().

Формула будет выглядеть так: =ФИЛЬТР(A2:D10000; (B2:B10000="Маркетинг") * (D2:D10000 > 50000); "Нет данных")

Обратите внимание на знак умножения между условиями. В логике массивов Excel умножение работает как оператор «И» (AND). Функция проверяет каждую строку: если оба условия выполняются (ИСТИНА ИСТИНА = 1), строка попадает в итоговый массив. Если хотя бы одно условие ложно (ИСТИНА * ЛОЖЬ = 0), строка отбрасывается.

!Подвигайте ползунок суммы и выберите отдел — посмотрите, как функция ФИЛЬТР мгновенно перестраивает массив данных

Многокритериальная агрегация: СУММЕСЛИМН

Извлечение данных — это половина дела. Вторая половина — это их агрегация (объединение и вычисление итогов). Для построения финансовых отчетов (например, P&L) незаменима функция СУММЕСЛИМН (SUMIFS).

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

Синтаксис: =СУММЕСЛИМН(диапазон_суммирования; диапазон_условия1; условие1; [диапазон_условия2; условие2]; ...)

Пример расчета

Допустим, нам нужно посчитать общую выручку (столбец E), которую принес менеджер «Иванов» (столбец B) в регионе «Север» (столбец C) за сделки с маржинальностью выше 20% (столбец F, где ).

=СУММЕСЛИМН(E:E; B:B; "Иванов"; C:C; "Север"; F:F; ">=0.2")

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

Эта функция работает невероятно быстро даже на сотнях тысяч строк и является основой для создания сводных таблиц «своими руками», когда стандартный функционал сводных таблиц (Pivot Tables) не позволяет реализовать нужный дизайн отчета.

Оптимизация вычислений с помощью ПУСТЬ

Когда бизнес-логика усложняется, формулы Excel могут превратиться в нечитаемого «монстра», занимающего несколько строк. Кроме того, если в формуле одно и то же сложное вычисление повторяется несколько раз, Excel тратит ресурсы на его повторный просчет.

Функция ПУСТЬ (LET) решает обе проблемы. Она позволяет создавать локальные переменные внутри формулы, присваивать им имена и значения, а затем использовать эти имена в финальном вычислении.

Синтаксис: =ПУСТЬ(имя1; значение1; [имя2; значение2]; ...; вычисление)

Сценарий сложного расчета

Представим расчет премии сотрудника. Правило звучит так: «Вычислить чистую прибыль (Доходы минус Расходы). Если чистая прибыль больше 1 000 000 руб., премия составляет 10% от чистой прибыли. В противном случае премия равна 0».

Без функции ПУСТЬ формула выглядит избыточно (мы дважды пишем вычисление прибыли): =ЕСЛИ((СУММ(Доходы) - СУММ(Расходы)) > 1000000; (СУММ(Доходы) - СУММ(Расходы)) * 0.1; 0)

С использованием функции ПУСТЬ мы делаем код элегантным и быстрым:

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

Освоение этих четырех функций — ПРОСМОТРX, ФИЛЬТР, СУММЕСЛИМН и ПУСТЬ — переводит вас из категории уверенных пользователей в категорию аналитиков, способных строить масштабируемые и надежные архитектуры данных.