Квери в Excel: полное руководство по Power Query для начинающих и профессионалов

Power Query — это мощный инструмент в Microsoft Excel, который кардинально меняет подход к работе с данными. Если вы когда-нибудь тратили часы на ручное копирование информации из разных источников, очистку "грязных" таблиц или сводку разрозненных отчётов — квери станут вашим спасением. Этот механизм позволяет автоматизировать импорт, трансформацию и загрузку данных (процесс ETL) без написания макросов или сложных формул.

Но что такое квери в Excel на практике? Представьте: у вас есть 10 файлов CSV с ежемесячными продажами, каждый с разной структурой колонок, лишними строками и ошибками в данных. Вместо того чтобы вручную приводить их к единому виду, вы создаёте один запрос (query), который сам:

  • 📂 импортирует все файлы из папки;
  • 🧹 удаляет пустые строки и дубликаты;
  • 🔄 преобразует даты в единый формат;
  • 📊 объединяет данные в одну таблицу для анализа.

И всё это — без единой формулы! Причём если исходные данные обновятся, достаточно нажать одну кнопку, чтобы перезагрузить отчёт. Звучит как магия? Это реальность Power Query, доступная в Excel 2016+ и Excel для Microsoft 365.

Что такое квери в Excel: определение и принципы работы

Термин "квери" (от англ. query — "запрос") в контексте Excel обозначает набор инструкций для извлечения, преобразования и загрузки данных. Это не просто фильтр или сортировка — это полноценный язык трансформации данных (M), интегрированный в интерфейс программы. Основные компоненты системы:

  • 🔌 Источники данных: файлы (Excel, CSV, XML, JSON), базы данных (SQL Server, Access), веб-страницы, облачные сервисы (SharePoint, Azure).
  • 🛠️ Редактор Power Query: визуальный интерфейс для создания цепочек преобразований (шагов).
  • 📥 Механизм загрузки: результаты можно выгрузить в таблицу, сводную таблицу или модель данных Power Pivot.

Ключевое отличие квери от традиционных методов работы в Excel: все действия записываются в виде кода на языке M, который можно редактировать, копировать и повторно использовать. Например, если вы очистили данные от пробелов с помощью функции TRIM в столбце, Power Query сохранит эту операцию как шаг = Table.TransformColumns(#"Предыдущий шаг",{{"Столбец1", Text.Trim}}). При следующем обновлении запрос автоматически повторит все шаги.

⚠️ Внимание: Квери не изменяют исходные данные. Все преобразования применяются только к копии, загруженной в Excel. Это гарантирует безопасность оригинальных файлов, но требует аккуратности при работе с большими объёмами (например, при импорте из базы данных).

Зачем использовать квери: 5 ключевых преимуществ

Давайте разберёмся, почему профессионалы предпочитают Power Query ручным методам. Вот конкретные преимущества, которые оценят и новички, и опытные аналитики:

Проблема Решение с помощью квери Экономия времени
Ручной импорт данных из 10 файлов CSV каждый месяц Один запрос объединяет все файлы из папки автоматически до 2 часов в месяц
Очистка данных от ошибок (лишние пробелы, разные форматы дат) Шаги трансформации применяются ко всем новым данным до 5 часов в неделю
Сводка данных из разных источников (например, Excel + SQL) Объединение таблиц по ключевым полям (аналог VLOOKUP, но мощнее) до 1 дня на проект
Обновление отчётов при изменении исходных данных Одна кнопка "Обновить все" применяет все шаги заново до 30 минут ежедневно

Кроме того, Power Query позволяет:

  • 🔄 Отменять любые шаги без потери данных (в отличие от ручных правок).
  • 📂 Документировать процесс: каждый шаг записывается и может быть прокомментирован.
  • 🤖 Автоматизировать рутину: например, ежемесячное создание отчётов по шаблону.
📊 Как часто вы работаете с данными из нескольких источников?
Ежедневно
Несколько раз в неделю
Редко
Никогда

Как открыть редактор Power Query в Excel: пошаговая инструкция

Прежде чем создавать первый запрос, нужно найти инструмент. Расположение кнопок зависит от версии Excel:

В Excel 2016–2019 и Microsoft 365:

  1. Перейдите на вкладку Данные (Data).
  2. В группе Получить и преобразовать (Get & Transform) найдите:
    • Получить данные (Get Data) — для импорта из внешних источников;
    • Из таблицы/диапазона (From Table/Range) — для работы с данными внутри файла;
    • Запросы и соединения (Queries & Connections) — для управления существующими квери.

В Excel 2013 (с надстройкой Power Query):

  1. Убедитесь, что надстройка установлена (скачать можно с сайта Microsoft).
  2. Вкладка Power Query появится в ленте.
  3. После выбора источника данных откроется Редактор Power Query — отдельное окно с интерфейсом для трансформации. Здесь вы увидите:

    • 📋 Область предварительного просмотра (данные в виде таблицы);
    • 📝 Панель "Применённые шаги" (список всех действий);
    • 🛠️ Лента инструментов с кнопками для преобразований.

Установить последнюю версию Excel (2016+) или надстройку для Excel 2013|

Проверить наличие вкладки "Данные" → "Получить и преобразовать"|

Подготовить исходные данные (удалить объединённые ячейки, исправить ошибки формата)|

Сохранить файл Excel перед первым импортом данных-->

Создание первого запроса: импорт данных из CSV-файла

Рассмотрим самый распространённый сценарий: импорт данных из файла CSV. Предположим, у вас есть файл продажи_2026.csv с колонками Дата, Товар, Количество и Сумма. Наша задача — загрузить его в Excel и привести к единому формату.

Шаг 1. Импорт файла

  1. В Excel перейдите на вкладку ДанныеПолучить данныеИз файлаИз текстового/CSV.
  2. Выберите файл продажи_2026.csv и нажмите Импорт.
  3. В окне предварительного просмотра убедитесь, что разделитель выбран правильно (обычно Запятая), и нажмите Преобразовать данные.

Шаг 2. Очистка данных

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

  1. Удалите пустые строки: выделите столбец → ГлавнаяУдалить строкиУдалить пустые.
  2. Приведите даты к единому формату: выделите столбец ДатаПреобразоватьФормат даты.
  3. Замените ошибки: если в столбце Сумма есть текст вместо чисел, используйте ГлавнаяЗаменить значения.

Шаг 3. Загрузка в Excel

После завершения преобразований нажмите ГлавнаяЗакрыть и загрузить. Данные появятся на новом листе в виде таблицы. Теперь при обновлении исходного CSV-файла достаточно кликнуть правой кнопкой по таблице и выбрать Обновить.

Продвинутые техники: объединение и добавление запросов

Одна из самых мощных функций Power Query — возможность объединять данные из разных источников. Рассмотрим два ключевых сценария:

1. Добавление запросов (Append)

Используется, когда нужно объединить таблицы с одинаковой структурой (например, ежемесячные отчёты с одинаковыми колонками).

  1. Создайте отдельные запросы для каждого файла.
  2. В редакторе Power Query выберите ГлавнаяОбъединитьДобавить запросы.
  3. Укажите таблицы для объединения (можно добавить 3 и более).

2. Объединение запросов (Merge)

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

  1. Откройте основной запрос (например, продажи).
  2. Выберите ГлавнаяОбъединитьОбъединить запросы.
  3. Укажите вторую таблицу (например, клиенты) и ключевые столбцы для соединения.
  4. Выберите тип объединения (Внутреннее, Левое внешнее и т. д.).

Пример: у вас есть две таблицы:

  • 📄 Продажи с колонками ID_заказа, Товар, Количество;
  • 👤 Клиенты с колонками ID_клиента, Имя, Город.

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

⚠️ Внимание: При объединении больших таблиц (более 100 000 строк) Power Query может замедляться. В таких случаях рекомендуется:

  • 🔍 Предварительно отфильтровать данные в источниках;
  • 🗑️ Удалить ненужные столбцы до объединения;
  • 💾 Использовать Power Pivot для работы с моделями данных.
Как ускорить работу с большими запросами?

1. Отключите загрузку в Excel: вместо загрузки данных на лист используйте опцию "Только создать соединение" (в окне импорта). Это позволит работать с данными только в Power Pivot или сводных таблицах.

2. Разбейте запрос на части: если трансформация занимает много времени, разделите её на несколько отдельных запросов и свяжите их через Merge/Append.

3. Используйте параметры: вместо жёстко прописанных путей к файлам создайте параметры (вкладка Управление параметрами), чтобы легко менять источники данных.

Язык M: основы для редактирования квери вручную

Хотя большинство операций в Power Query выполняются через интерфейс, иногда требуется редактировать код вручную. Язык M (или Power Query Formula Language) — это функциональный язык программирования, специально созданный для трансформации данных. Вот базовые концепции:

1. Структура кода

Каждый запрос состоит из шагов, где результат предыдущего шага передаётся следующему. Например:

let

Источник = Csv.Document(File.Contents("C:\data\продажи.csv"),[Delimiter=",", Encoding=1251]),

#"Повышение заголовков" = Table.PromoteHeaders(Источник, [PromoteAllScalars=true]),

#"Изменённый тип" = Table.TransformColumnTypes(#"Повышение заголовков",{{"Сумма", Currency.Type}})

in

#"Изменённый тип"

2. Основные функции

Функция Описание Пример
Table.SelectRows Фильтрация строк по условию Table.SelectRows(#"Предыдущий шаг", each [Сумма] > 1000)
Table.AddColumn Добавление вычисляемого столбца Table.AddColumn(#"Предыдущий шаг", "Налог", each [Сумма] * 0.2)
Table.Group Группировка данных (аналог сводной таблицы) Table.Group(#"Предыдущий шаг", {"Категория"}, {{"Общая сумма", each List.Sum([Сумма]), type number}})

3. Отладка кода

Если запрос возвращает ошибку, используйте:

  • 🔍 Просмотр шагов: кликните на любой шаг в панели Применённые шаги, чтобы увидеть промежуточный результат.
  • 📝 Комментарии: добавьте // Ваш комментарий перед строкой кода.
  • 🛠️ Проверка синтаксиса: редактор подсвечивает ошибки красным.

Типичные ошибки и как их избежать

При работе с Power Query пользователи часто сталкиваются с типичными проблемами. Вот самые распространённые и способы их решения:

1. Ошибка "Expression.Error: Не удалось найти файл"

Причина: путь к файлу изменился или файл перемещён.

Решение:

  • 📁 Используйте относительные пути (например, ..\Data\file.csv вместо C:\Users\...).
  • 🔗 Создайте параметр с путём к файлу (вкладка Управление параметрами).

2. Медленная загрузка больших файлов

Причина: Power Query загружает все данные в память.

Решение:

  • 🗃️ Разбейте данные на части (например, по годам или регионам).
  • 📊 Используйте Таблицу данных вместо загрузки на лист.

3. Ошибки преобразования типов данных

Причина: Excel не может автоматически определить формат (например, дата в текстовом виде).

Решение:

  • 📅 Вручную укажите тип данных в шаге Изменённый тип.
  • 🔄 Используйте функции Date.FromText или Number.FromText.

4. Потеря шагов после обновления

Причина: изменена структура исходных данных (например, переименован столбец).

Решение:

  • 🔄 Проверьте шаги в редакторе Power Query и обновите ссылки на столбцы.
  • 📋 Используйте псевдонимы столбцов (например, переименуйте столбец в первом шаге и ссылайтесь на новое имя).
⚠️ Внимание: Если вы используете Power Query для импорта данных из веб-страниц, помните: структура HTML может меняться. Например, после обновления сайта путь к таблице (table[class="data"]) может стать неактуальным. Всегда проверяйте результаты после обновления источника!

FAQ: Ответы на частые вопросы о квери в Excel

Можно ли использовать Power Query в Excel для Mac?

Да, но с ограничениями. В Excel для Mac Power Query доступен только в версии Microsoft 365 (подписка). Функциональность аналогична Windows-версии, но могут быть различия в интерфейсе. Например, редактор запросов открывается в отдельном окне, а не во встроенной панели.

Для старых версий Excel для Mac (2016–2019) Power Query недоступен — потребуется Windows или облачный Excel Online (с ограниченными возможностями).

Как обновить данные во всех запросах одновременно?

Есть три способа:

  1. 📥 Нажмите ДанныеОбновить все (обновляет все соединения и сводные таблицы).
  2. 🔄 Кликните правой кнопкой по любой таблице, созданной через Power Query, и выберите Обновить.
  3. ⏱️ Настройте автоматическое обновление через Свойства соединения (например, при открытии файла).

Если запрос зависит от параметров (например, даты), их значения можно изменить в окне Управление параметрами.

Можно ли экспортировать запрос для использования в другом файле?

Да! Для этого:

  1. Откройте запрос в редакторе Power Query.
  2. Скопируйте код из панели Дополнительно (Advanced Editor).
  3. В новом файле создайте пустой запрос (Новый источникДругие источникиПустой запрос) и вставьте код.

Также можно экспортировать запрос в файл .pq (через КопироватьКопировать запрос), но этот формат поддерживается не во всех версиях Excel.

Почему после обновления данные не изменяются?

Возможные причины и решения:

  • 🔄 Кэширование данных: попробуйте Обновить все дважды или перезапустите Excel.
  • 📁 Источник не обновлён: проверьте, изменились ли исходные файлы (например, CSV).
  • 🔗 Ссылки на ячейки: если запрос зависит от значения ячейки (например, = Excel.CurrentWorkbook(){[Name="Диапазон"]}[Content]), убедитесь, что ячейка не пустая.
  • 🛠️ Ошибки в шагах: откройте запрос в редакторе и проверьте, нет ли красных крестиков рядом с шагами.
Как объединить данные из нескольких листов одного файла Excel?

Для этого:

  1. Создайте новый запрос через ДанныеПолучить данныеИз других источниковПустой запрос.
  2. В редакторе Power Query введите код:
let

Источник = Excel.CurrentWorkbook(),

Листы = Table.SelectRows(Источник, each ([Name] <> "Лист1")), // исключите ненужные листы

Данные = Table.Combine(Листы[Content])

in

Данные

Этот код объединит все листы, кроме Лист1, в одну таблицу. Убедитесь, что структура листов одинаковая (одинаковые заголовки столбцов).