Создание, загрузка и изменение запроса в Excel (Power Query)
Excel для Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Еще…Меньше
Power Query предлагает несколько способов создания и загрузки power querys в книгу. Вы также можете настроить параметры загрузки запроса по умолчанию в окне Параметры запроса.
Совет Чтобы упросить, сформированы ли данные на этом плане с помощью Power Query, выберите ячейку с данными, а если появится вкладка Лента контекстного запроса, данные загружаются из Power Query.
Знать, в какой среде вы сейчас? Power Query хорошо интегрирован с пользовательским интерфейсом Excel, особенно при импорте данных, работе с подключениями и редактировании таблиц, таблиц с Excel и именовых диапазонов. Чтобы избежать путаницы, важно в любой момент времени знать, в какой среде вы находитесь, в какой Excel или Power Query.
Знакомые Excel, лента и сетка |
Лента редактора Power Query и предварительный просмотр данных |
Например, работа с данными на Excel значительно отличается от Power Query. Кроме того, подключенные данные, которые вы видите на Excel, могут не работать с Power Query для их обработки. Это происходит только при загрузке данных на таблицу или в модель данных из Power Query.
Переименование я вкладок на таблицах Ямы лучше переименовывать по своему смыслу, особенно если их много. Особенно важно пояснить разницу между данными и данными, загруженными из редактора Power Query. Даже если у вас всего два листа: с таблицей Excel «Лист1»и запросом, созданным путем импорта таблицы Excel Таблица1,ее легко запутать. Всегда имеет смысл изменить названия ярлыков по умолчанию на более понятное. Например, переименуйте Лист1 в Таблицу данных и Таблицу1 в Таблицу запросов. Теперь понятно, какая вкладка с данными, а какая вкладка с запросом.
Вы можете создать запрос из импортируемых данных или пустой запрос.
Создание запроса из импортируемых данных
Это самый распространенный способ создания запроса.
-
Импорт некоторых данных. Дополнительные сведения см. в том, как импортировать данные из внешних источников.
-
Выберем ячейку в данных и выберите запрос> изменить.
Создание пустого запроса
Вы можете начать с нуля. Это можно сделать двумя способами.
-
Выберите Данные> Получить данные >из других источников > пустой запрос.
-
Выберите Данные> получить данные >запуск редактора Power Query.
На этом этапе вы можете вручную добавлять шаги и формулы, если хорошо знаете язык формул Power Query M.
Кроме того, можно выбрать команду На главная в группе Новый запрос. Выполните одно из указанных ниже действий.
-
Выберите Новый источник, чтобы добавить источник данных. Эта команда выглядит так же, как> «Получить данные» на Excel ленте.
-
Выберите Последние источники, чтобы выбрать источник данных, с помощью который вы работали. Эта команда выглядит так же, как> последние источники на Excel ленте.
-
Чтобы ввести данные вручную, выберите Ввести данные. Вы можете выбрать эту команду, чтобы попробовать редактор Power Query независимо от внешнего источника данных.
Предположим, что запрос действителен и не имеет ошибок, его можно загрузить обратно на таблицу или в модель данных.
Загрузка запроса из редактора Power Query
В редакторе Power Query сделайте следующее:
-
Чтобы загрузить на таблицу, выберите Главная> Закрыть & Загрузить > Закрыть & Загрузить.
-
Чтобы загрузить данные в модель данных, выберите Главная> Закрыть & Загрузить > Закрыть & Загрузка.
В диалоговом окне Импорт данных выберите добавить эти данные в модельданных.
Совет Иногда команда «Загрузить в» неатривна или отключена. Это может произойти при первом создании запроса в книге. В этом случае нажмите кнопку Закрыть & Загрузить, на новом > запросы данных & Connections > Запросы, щелкните запрос правой кнопкой мыши и выберите загрузить в . Кроме того, на ленте редактора Power Query выберите запрос> Загрузить в.
Загрузка запроса из области «Запросы и подключения»
В Excel может потребоваться загрузить запрос на другой таблицу или в модель данных.
-
В Excel выберите Запросы> запросы & Connections, а затем выберите вкладку Запросы.
-
В списке запросов найдите запрос, щелкните его правой кнопкой мыши и выберите загрузить в. Появится диалоговое окно Импорт данных.
-
Выберите, как вы хотите импортировать данные, а затем выберите ОК. Чтобы получить дополнительные сведения об использовании этого диалогового окна, выберите знак вопроса (?).
Существует несколько способов изменить запрос, загруженный на таблицу.
Изменение запроса на Excel данных
-
Чтобы изменить запрос, найдите ранее загруженную из редактора Power Query, выйдите ячейку в данных и выберите запрос > Изменить.
Изменение запроса в области «Запросы & подключения»
Возможно, вы & области Запросы и подключения удобнее использовать, если в одной книге много запросов и вы хотите быстро найти его.
-
В Excel выберите Запросы> запросы & Connections, а затем выберите вкладку Запросы.
-
В списке запросов найдите запрос, щелкните его правой кнопкой мыши и выберите изменить.
Изменение запроса в диалоговом окне «Свойства запроса»
-
В Excel выберите Data> Data & Connections > Запросы, щелкните запрос правой кнопкой мыши и выберите Свойства ,выберите вкладку Определение в диалоговом окне Свойства и нажмите кнопку Изменить запрос.
Совет Если вы работаете с запросом на > данных, в диалоговом окнеСвойства выберите вкладку Определение, а затем — Изменить запрос.
Модель данных обычно содержит несколько таблиц, расположенных в связи. Запрос загружается в модель данных с помощью команды Загрузить, чтобы отобразить диалоговое окно Импорт данных, а затем в поле Добавить эти данные в режим данныхl. Дополнительные сведения о моделях данных см. в дополнительных сведениях о том, какие источники данных используются в модели данных книги,Создание модели данных в Excelи Создание таблиц с помощью нескольких таблиц.
-
Чтобы открыть модель данных, выберите Power Pivot > Управление.
-
В нижней части окна Power Pivot выберите вкладку нужной таблицы.
Подтвердим, что отображается правильная таблица. Модель данных может иметь много таблиц.
-
Обратите внимание на имя таблицы.
-
Чтобы закрыть окно Power Pivot, выберите файл> Закрыть. Чтобы освободить память, может потребоваться несколько секунд.
-
Выберите > подключения & свойства >Запросы, щелкните запрос правой кнопкой мыши и выберите изменить.
-
Завершив внесение изменений в редакторе Power Query, выберите файл > Закрыть & загрузить.
Результат
Запрос на этом и в таблице в модели данных обновляются.
Если вы заметили, что загрузка запроса в модель данных занимает намного больше времени, чем загрузка на лист, проверьте действия Power Query, чтобы узнать, фильтруется ли текстовый столбец или структурированный столбец списка с помощью оператора Contains. Это действие приводит Excel повторно прогонять весь набор данных для каждой строки. Более того, Excel не могут эффективно использовать многопрочитанные выполнения. В качестве обходного решения попробуйте использовать другой оператор, например Равно или Начинает с.
Корпорация Майкрософт знает об этой проблеме и находится в стадии исследования.
Вы можете загрузить Power Query:
-
На один из них. В редакторе Power Query выберите Home> Close & Load > Close & Load.
-
В модель данных. В редакторе Power Query выберите Home> Close & Load > Close & Load To.
По умолчанию Power Query загружает запросы на новый таблицу при загрузке одного запроса и одновременно загружает несколько запросов в модель данных. Вы можете изменить поведение по умолчанию для всех книг или только для текущей книги. При настройке этих параметров Power Query не меняет результаты запроса на месте или в данных модели данных и примечаниях.
Кроме того, динамически переопределять стандартные параметры запроса можно в диалоговом окне Импорт, которое отображается после выбора параметра & Загрузитьв.
Глобальные параметры, которые применяются во всех книгах
-
В редакторе Power Query выберите Файл > параметры и параметры >параметры запроса.
-
В диалоговом окне Параметры запроса в левой части в разделе GLOBAL выберите Загрузка данных.
-
В разделе Загрузка Параметры запроса по умолчанию сделайте следующее:
-
Выберите Использовать стандартные параметры загрузки.
-
Выберите Указать настраиваемые параметры загрузкипо умолчанию, а затем выберите или отобирать параметр Загрузить на таблицу или Загрузить в модель данных.
-
Совет В нижней части диалогового окна можно выбрать восстановить параметры по умолчанию, чтобы вернуться к настройкам по умолчанию.
Параметры книги, которые применяются только к текущей книге
-
В диалоговом окне Параметры запроса в левой части в разделе ТЕКУЩАЯ КНИГА выберите Загрузка данных.
-
Выполните одно или несколько из указанных ниже действий.
-
В области Обнаружение типоввыберите или сберем для обнаружения типов столбцов и их заглавных колонок для неструктурированных источников.
По умолчанию они обнаруживаются. Если вы предпочитаете формировать данные самостоятельно, отоставьте этот параметр.
-
В области Связивыберите или отоберем создать связи между таблицами при первом добавлении в модель данных.
По умолчанию перед загрузкой в модель данных можно найти существующие связи между таблицами, например внешние ключи в реляционной базе данных, и импортировать их вместе с данными. Если вы предпочитаете делать это самостоятельно, сделайте это самостоятельно.
-
В области Связивыберите или отоберете update relationships when refreshing queries loaded to the Data Model (Связи) при обновлении запросов, загруженных в модель данных.
По умолчанию отношения не обновляются. При обновлении запросов, уже загруженных в модель данных, Power Query находит существующие связи между таблицами, например внешние ключи, в реляционной базе данных и обновляет их. Это может привести к удалению связей, созданных вручную после импорта данных, или к новым связям. Тем не менее, если вы хотите сделать это, выберите этот параметр.
-
В области Фоновыеданные выберите или отпустите разрешение предварительного просмотра данных для скачивания в фоновом режиме.
По умолчанию предварительный просмотр данных загружается в фоновом режиме. Если вы хотите сразу же видеть все данные, отобираем этот параметр.
-
См. также
Справка по Power Query для Excel
Управление запросами в Excel
Нужна дополнительная помощь?
Суть запроса на выборку – выбрать из исходной таблицы строки, удовлетворяющие определенным критериям (подобно применению стандартного
Фильтра
). Произведем отбор значений из исходной таблицы с помощью
формул массива
. В отличие от применения
Фильтра
(
CTRL+SHIFT+L
или Данные/ Сортировка и фильтр/ Фильтр ) отобранные строки будут помещены в отдельную таблицу.
В этой статье рассмотрим наиболее часто встречающиеся запросы, например: отбор строк таблицы, у которых значение из числового столбца попадает в заданный диапазон (интервал); отбор строк, у которых дата принаждежит определенному периоду; задачи с 2-мя текстовыми критериями и другие. Начнем с простых запросов.
1. Один числовой критерий (Выбрать те Товары, у которых цена выше минимальной)
Пусть имеется Исходная таблица с перечнем Товаров и Ценами (см. файл примера, лист
Один критерий — число
).
Необходимо отобразить в отдельной таблице только те записи (строки) из Исходной таблицы, у которых цена выше 25.
Решить эту и последующие задачи можно легко с помощью
стандартного фильтра
. Для этого выделите заголовки Исходной таблицы и нажмите
CTRL+SHIFT+L
. Через выпадающий список у заголовка Цены выберите
Числовые фильтры…
, затем задайте необходимые условия фильтрации и нажмите ОК.
Будут отображены записи удовлетворяющие условиям отбора.
Другим подходом является использование
формул массива
. В отличие от
фильтра
отобранные строки будут помещены в отдельную таблицу — своеобразный
Отчет
, который, например, можно отформатировать в стиль отличный от Исходной таблицы или производить другие ее модификации.
Критерий (минимальную цену) разместим в ячейке
Е6
, таблицу для отфильтрованных данных — в диапазоне
D10:E19
.
Теперь выделим диапазон
D11:D19
(столбец Товар) и в
Строке формул
введем
формулу массива
:
=ИНДЕКС(A11:A19;НАИМЕНЬШИЙ(ЕСЛИ($E$6<=B11:B19;СТРОКА(B11:B19);»»);СТРОКА()-СТРОКА($B$10))-СТРОКА($B$10))
Вместо
ENTER
нажмите сочетание клавиш
CTRL+SHIFT+ENTER
(формула массива будет
возвращать несколько значений
).
Те же манипуляции произведем с диапазоном
E11:E19
(столбец Цена) куда и введем аналогичную
формулу массива
:
=ИНДЕКС(B11:B19;НАИМЕНЬШИЙ(ЕСЛИ($E$6<=B11:B19;СТРОКА(B11:B19);»»);СТРОКА()-СТРОКА($B$10))-СТРОКА($B$10))
В результате получим новую таблицу, которая будет содержать только товары, у которых цены не меньше, указанной в ячейке
Е6
.
Чтобы показать динамизм полученного Запроса на выборку, введем в
Е6
значение 55. В новую таблицу попадет только 2 записи.
Если в Исходную таблицу добавить новый товар с Ценой 80, то в новую таблицу автоматически будет добавлена новая запись.
Примечание
. Также для вывода отфильтрованных данных можно использовать
Расширенный фильтр
и
Сводные таблицы
. Выбор конкретного инструмента зависит от стоящей перед пользователем задачи.
Если Вам не удобно использовать
формулу массива
, которая возвращает несколько значений, то можно использовать другой подход, который рассмотрен в разделах ниже: 5.а, 7, 10 и 11. В этих случаях используются
формулы массива, возвращающие одно значение
.
2. Два числовых критерия (Выбрать те Товары, у которых цена попадает в диапазон)
Пусть имеется Исходная таблица с перечнем Товаров и Ценами (см. файл примера, лист
Диапазон Чисел
).
Критерии (нижнюю и верхнюю границы цены) разместим в диапазоне
Е5:Е6
.
Т.е. если Цена Товара попадает в указанный интервал, то такая запись появится в новой таблице Отфильтрованные данные.
В отличие от предыдущей задачи создадим два
Динамических диапазона
: Товары и Цены (без них можно обойтись, но они удобны при написании формул). Соответствующие формулы должны выглядеть в Диспетчере имен ( Формулы/ Определенные имена/ Диспетчер имен ) следующим образом (см. рисунок ниже).
Теперь выделим диапазон
D11:D19
и в
Строке формул
введем
формулу массива
:
=ИНДЕКС(Товары;НАИМЕНЬШИЙ(ЕСЛИ(($E$5<=Цены)*($E$6>=Цены);СТРОКА(Цены);»»);СТРОКА(Цены)-СТРОКА($B$10))-СТРОКА($B$10))
Вместо
ENTER
нажмите сочетание клавиш
CTRL+SHIFT+ENTER
.
Те же манипуляции произведем с диапазоном
E11:E19
куда и введем аналогичную
формулу массива
:
=ИНДЕКС(Цены;НАИМЕНЬШИЙ(ЕСЛИ(($E$5<=Цены)*($E$6>=Цены);СТРОКА(Цены);»»);СТРОКА(Цены)-СТРОКА($B$10))-СТРОКА($B$10))
В результате получим новую таблицу, которая будет содержать только товары, у которых цены попадают в интервал, указанный в ячейках
Е5
и
Е6
.
Чтобы показать динамизм полученного Отчета (Запроса на выборку) введем в
Е6
значение 65. В новую таблицу будет добавлена еще одна запись из Исходной таблицы, удовлетворяющая новому критерию.
Если в Исходную таблицу добавить новый товар с Ценой в диапазоне от 25 до 65, то в новую таблицу будет добавлена новая запись.
В файле примера также содержатся формулы массива с обработкой ошибок, когда в столбце Цена содержится значение ошибки, например #ДЕЛ/0! (см. лист
Обработка ошибок
).
Следующие задачи решаются аналогичным образом, поэтому не будем их рассматривать так детально.
3. Один критерий Дата (Выбрать те Товары, у которых Дата поставки совпадает заданной)
Пусть имеется Исходная таблица с перечнем Товаров и Датами поставки (см. файл примера, лист
Один критерий — Дата
).
Для отбора строк используются формулы массива, аналогичные Задаче1 (вместо критерия <= используется =):
= ИНДЕКС(A12:A20;НАИМЕНЬШИЙ(ЕСЛИ($E$6=B12:B20;СТРОКА(B12:B20);»»);СТРОКА(B12:B20)-СТРОКА($B$11))-СТРОКА($B$11))
=ИНДЕКС(B12:B20;НАИМЕНЬШИЙ(ЕСЛИ($E$6=B12:B20;СТРОКА(B12:B20);»»);СТРОКА(B12:B20)-СТРОКА($B$11))-СТРОКА($B$11))
4. Два критерия Дата (Выбрать те Товары, у которых Дата поставки попадает в диапазон)
Пусть имеется Исходная таблица с перечнем Товаров и Датами поставки (см. файл примера, лист
Диапазон Дат
).
Обратите внимание, что столбец Дат НЕ СОРТИРОВАН.
Решение1
: Для отбора строк можно использовать
формулы массива, возвращающие одно значение
.
Введите в ячейку
D12
формулу массива:
=ИНДЕКС(A$12:A$20;НАИБОЛЬШИЙ(($E$6<=$B$12:$B$20)*($E$7>=$B$12:$B$20)*(СТРОКА($B$12:$B$20)-СТРОКА($B$11));$J$12-СТРОКА(A12)+СТРОКА($B$11)+1))
Примечание
: После ввода формулы вместо клавиши ENTER (ВВОД) нужно нажать сочетание клавиш CTRL+SHIFT+ENTER. Это сочетание клавиш используется для ввода формул массива.
Скопируйте формулу массива вниз на нужное количество ячеек. Формула вернет только те значения Товаров, которые были поставлены в диапазоне указанных дат. В остальных ячейках будут содержаться ошибки #ЧИСЛО! Ошибки в файле примера (Лист 4.Диапазон Дат)
скрыты с помощью Условного форматирования
.
Аналогичную формулу нужно ввести и для дат в столбец E.
В ячейке
J12
вычислено количество строк исходной таблицы, удовлетворяющих критериям:
=СЧЁТЕСЛИМН(B12:B20;»>=»&$E$6;B12:B20;»<=»&$E$7)
Строки исходной таблицы, которые удовлетворяют критериям,
выделены также Условным форматированием
.
Решение2
: Для отбора строк можно использовать формулы массива, аналогичные Задаче2 (т.е.
формулы массива, возвращающие несколько значений
):
= ИНДЕКС(A12:A20;НАИМЕНЬШИЙ(ЕСЛИ(($E$6<=B12:B20)*($E$7>=B12:B20);СТРОКА(B12:B20);»»);СТРОКА(B12:B20)-СТРОКА($B$11))-СТРОКА($B$11))
=ИНДЕКС(B12:B20;НАИМЕНЬШИЙ(ЕСЛИ(($E$6<=B12:B20)*($E$7>=B12:B20);СТРОКА(B12:B20);»»);СТРОКА(B12:B20)-СТРОКА($B$11))-СТРОКА($B$11))
Для ввода первой формулы выделите диапазон ячеек
G12:G20
. После ввода формулы вместо клавиши ENTER (ВВОД) нужно нажать сочетание клавиш CTRL+SHIFT+ENTER.
Решение3
: Если столбец Дат СОРТИРОВАН, то можно не использовать формулы массива.
Сначала необходимо вычислить первую и последнюю позиции строк, которые удовлетворяют критериям. Затем вывести строки
с помощью функции СМЕЩ()
.
Этот пример еще раз наглядно демонстрирует насколько
предварительная сортировка данных
облегчает написание формул.
5. Один критерий Дата (Выбрать те Товары, у которых Дата поставки не раньше/ не позже заданной)
Пусть имеется Исходная таблица с перечнем Товаров и Датами поставки (см. файл примера, лист
Один критерий — Дата (не позже)
).
Для отбора строк, дата которых не раньше (включая саму дату), используется формула массива:
= ИНДЕКС(A12:A20;НАИМЕНЬШИЙ(ЕСЛИ($E$7<=B12:B20;СТРОКА(B12:B20);»»);СТРОКА(B12:B20)-СТРОКА($B$11))-СТРОКА($B$11))
Также в файле примера приведены формулы для условий: Не раньше (не включая); Не позже (включая); Не позже (не включая).
Эта формула введена как
формула массив
а, возвращающая множество значений (см. здесь
Формулы массива в MS EXCEL, возвращающие несколько значений
). Эту формулу можно переделать, чтобы
возвращалось только 1 значение
, см. следующую задачу 5а.
5а. Один критерий Дата (Выбрать События, которые Закончились/ не начались/ происходят на заданную дату)
Пусть имеется перечень событий и даты их начала и завершения.
Пользователю требуется найти и вывести в отдельную таблицу события, которые либо уже закончились на заданную дату, либо еще длятся, либо еще не начались.
Т.е. нам потребуется формула, обрабатывающая 3 вышеуказанные ситуации. Можно использовать нижеуказанную формулу, которую нужно ввести в строке для каждого события
= ВЫБОР($C$6;$B$7>C15;И($B$7>=B15;$B$7<=C15);$B$7
Формула возвращает ЛОЖЬ или ИСТИНА в зависимости от того удовлетворят ли Событие указанным критерием. Результат этой формулы мы будем использовать как для
Условного форматирования
, чтобы выделить События, так и для вывода Событий в отдельный диапазон.
Для вывода Событий в соседний диапазон используйте формулу:
= ИНДЕКС(A$15:A$21;НАИМЕНЬШИЙ(ЕСЛИ($D$15:$D$21;СТРОКА(A$15:A$21);»»);СТРОКА()-СТРОКА($B$14))-СТРОКА($B$14))
Формула делает следующее:
— если Событие удовлетворяет условию, то формула запоминает номер строки этого События: ЕСЛИ($D$15:$D$21;СТРОКА(A$15:A$21);»»)
—
Функция НАИМЕНЬШИЙ()
сортирует
полученный массив номеров строк: первыми идут номера строк Событий, которые удовлетворяют критерию;
—
Функция ИНДЕКС()
выводит названия Событий из указанный строк.
6. Два критерия: Дата и Текст (Выбрать Товары определенного вида, у которых Дата поставки не позже заданной)
Пусть имеется Исходная таблица с перечнем Товаров и Датами поставки (см. файл примера, лист
2 критерия — Дата-Текст
).
В отличие от Задачи 5 будем отбирать строки только того Товара, который указан в критерии. Список дат должен быть
отсортирован
(для каждого из товаров), по товару сортировка не требуется.
Для отбора строк, дата которых не позже (включая саму дату), используется формула массива:
= ИНДЕКС(A13:A21; НАИМЕНЬШИЙ(ЕСЛИ(($E$7=$A$13:$A$21)*($E$8>=$B$13:$B$21)*($B$13:$B$21>0);СТРОКА($B$13:$B$21);»»);СТРОКА($B$13:$B$21)-СТРОКА($B$12)) -СТРОКА($B$12))
Условие $E$7=$A$13:$A$21 гарантирует, что будут отобраны товары только определенного типа. Условие $E$8>=$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 критерия — текст (ИЛИ)
).
В отличие от Задачи 7 отберем строки с товарами 2-х видов (
Условие ИЛИ
).
Для отбора строк используется формула массива:
= ИНДЕКС(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).
Решением является формула массива:
=НАИМЕНЬШИЙ(СТРОКА($A$14:$A$27)*($C$14:$C$27>=$B$7)*($C$14:$C$27<=$C$7)*($D$14:$D$27>=$B$10);F14+($G$8-$G$9))
Эта формула возвращает номера строк, которые удовлетворяют обоим критериям.
Формула =СУММПРОИЗВ(($C$14:$C$27>=$B$7)*($C$14:$C$27<=$C$7)*($D$14:$D$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)))
Остальная часть формулы аналогична рассмотренным выше.
12. Актуальная цена
Пусть для товара ежедневно заполняется таблица цен (цена может меняться, но не каждый день). Нужно найти актуальнуй цену, т.е. цену на последнюю дату. Если товар всего один, то можно отсортировать по дате и в последней строке будет нужная актуальная цена. Если товаров много, то нужно сначала выбрать Автофильтром нужный товар, затем опять отсортировать по цене.
Чтобы иметь перечень товаров с актуальными ценами придется использовать формулы:
1) сначала сформируем перечень товаров без повторов
Отбор уникальных значений (убираем повторы из списка) в MS EXCEL
2) определяем последнюю (максимальную) дату для каждого товара с помощью формулы массива =МАКС((Таблица1[товар]=E8)*Таблица1[дата])
3) наконец, выводим актуальную цену =СУММЕСЛИМН(Таблица1[цена];Таблица1[товар];E8;Таблица1[дата];F8)
Для товара не должно быть повторов дат, иначе цены будут суммироваться (если повторяется последняя дата).
В файле примера приведено решение на листе 12. Актуальная цена.
В Office 2013 Professional Plus впервые используется надстройка для анализа содержимого книг Excel – Inquire (в переводе с английского: осведомляться, спрашивать, искать). [1] Чтобы проверить версию программы, установленной на вашем ПК, пройдите по меню Файл → Учетная запись (рис. 1). Например, на домашнем ПК у меня версия «для дома и учебы» (рис. 1а), а вот на работе – «профессиональный плюс» (рис. 1б).
Рис. 1. Проверка версии MS Office 2013
Скачать заметку Использование надстройки Inquire (запрос) в Excel2013 в формате Word или pdf
По умолчанию надстройка Inquire не установлена. Чтобы ее установить пройдите по меню Файл → Параметры. В открывшемся окне Параметры Excel перейдите в раздел Надстройки. В раскрывающемся списке Управление выберите Надстройки СОМ (рис. 2). Поставьте галочку напротив Inquire и нажмите Ok (рис. 3). На ленте появится новая вкладка – Inquire (рис. 4).
Рис. 2. Параметры Excel
Рис. 3. Надстройка Inquire
Рис. 4. Новая вкладка на ленте – Inquire
Инструмент Inquire позволяет выполнить следующее:
- Проанализировать активную книгу
- Сравнить две книги
- Отобразить в виде схем связь книги, листа, ячейки с другими книгами, листами, ячейками.
- Очистить ненужное форматирование
- Управлять паролями
Анализ активной книги выполняется с помощью команды Workbook Analysis. Команда выводит на экран диалоговое окно Workbook Analysis Report (рис. 5). Поставьте галочки в левом окне Items, выбирая элементы для анализа. Результаты появятся в правом окне Results (чтобы увидеть их целиком обратите внимание на бегунок внизу окна). На самом деле, в окне Result отражаются лишь агрегированные результаты. Чтобы получить полный анализ файла создайте отчет (в новой книге Excel), нажав на кнопку Excel Export. Файл с полным отчетом будет содержать около 50 листов. Если вы понимаете, что ищите, выделите в окне Items только те опции, которые должны попасть в отчет и нажмите Excel Export. Фрагмент отчета (а именно, часть листа Summary) приведен на рис. 6.
Рис. 5. Окно Workbook Analysis Report / Отчет об анализе книги
Рис. 6. Фрагмент листа Summary отчета об анализе книги
Видно, что книга содержит 323 ошибки в формулах. Перейдя на лист Error Formulas, вы найдете полный список этих ошибок (рис. 7), с указанием листа, ячейки, формулы и значения в ячейке.
Рис. 7. Фрагмент листа Error Formulas отчета
Некоторые дополнительные сведения можно найти на сайте Microsoft в разделе Анализ книги.
Сравнение двух книг выполняется с помощью команды Compare Files (см. рис. 5). Для начала откройте две книги в Excel. У меня для этих целей есть хороший пример. Для работы с сайтом я веду своеобразный каталог планируемых к публикации и уже опубликованных материалов. Так вот у меня есть текущая и архивная версии файла. Открываю их и жму Compare Files. Появляется окно выбора файлов сравнения (рис. 8). Жму Compare.
Рис. 8. Выбор файлов для сравнения
Результаты сравнения (рис. 9) представлены в нескольких окнах. Наверху имеется лента, позволяющая выполнить новое сравнение, экспортировать результаты сравнения в отдельный файл, задать ряд опций сравнения. В первом ряду расположены два окна с фрагментами сравниваемых файлов. Вы можете перемещаться по листу и переходить от листа к листу. Цветом выделяются различия по типу содержимого, например, по введенным значениям, формулам, именованным диапазонам, форматам. Во втором ряду в левом окне вы можете управлять отображаемыми различиями.
Рис. 9. Результат сравнения
Функция особенно удобна, когда вы получили от коллеги, ранее отправленный ему файл, и хотите понять, какие изменения были внесены.
Любопытно, что на сайте Microsoft на страничке Возможности надстройки Spreadsheet Inquire говорится: «Подробнее о средстве сравнения электронных таблиц и сравнении файлов читайте в статье Сравнение двух версий книги». К сожалению, указанная статья на сайте MS отсутствует…
Отображение связей книги. В книгах, связанных с другими книгами с помощью ссылок легко запутаться. Создайте интерактивную графическую карту зависимостей, образованных ссылками между файлами. Для этого откройте анализируемый файл, перейдите на вкладку Inquire и кликните на команду Workbook Relationship (см. рис. 5). В схеме связей вы можете выбирать элементы и находить о них дополнительные сведения. Например, при наведении курсора на пиктограмму файла Посещаемость.xlsx, появилось сообщение о месте размещения файла, и о проблемах со связями (рис. 10). Кстати желтый цвет файла как раз сигнализирует о том, что со связями есть проблемы. Возможно, они не обновлены. Белый крестик на пиктограмме (см. рис. 10, верхний ряд, справа) также сигнал. На этот раз о том, что файл отсутствует.
Рис. 10. Схема представления связей активной книги
Аналогично предыдущей команда Worksheet Relationship покажет связи между листами активной книги (рис. 11), а команда Cell Relationship – между выбранной ячейкой и другими ячейками (рис. 12). Остановимся на последней опции подробнее.
Рис. 11. Схема представления связей между листами активной книги
Рис. 12. Схема представления связей между выбранной ячейкой и другими ячейками
В отличие от связей книги и листа, при представлении связей ячейки диаграмма появляется не сразу, а предлагается диалоговое окно для определения опций (рис. 13).
Рис. 13. Опции представления связей ячейки
В окне Cell Relationship Diagram Options можно установить следующие три группы параметров:
1) использовать для анализа только текущий лист , другие листы , и другие листы и другие книги ;
2) показывать только влияющие ячейки (другие ячейки, от которых зависит текущая ячейка) , зависимые ячейки (ячейки, которые зависят от текущей ячейки) , или и те, и другие ;
3) показывать определенное количество уровней отношений ячеек, например, 2 , или все . Например, на рис. 12, если ячейка T9 зависит от ячейки D58 (на листе заметок), которая, в свою очередь, зависит от ячеек заметок!С47:С58 — это двухуровневое отношение ячеек. Кстати, будьте осторожны с опцией All. Мне удалось «обрушить» надстройку Inquire, задав эту опцию для весьма безобидной, на первый взгляд, ячейки…
Некоторые полезные нюансы работы со связями ячейки можно также найти в статье Просмотр отношений между ячейками на сайте Microsoft.
Очистка лишнего форматирования ячеек на листе. Форматирование ячеек на листе позволяет выделить нужные сведения, чтобы их было легко заметить, но при этом форматирование неиспользуемых ячеек (особенно целых строк и столбцов) может привести к быстрому росту размера файла рабочей книги. У меня на сайте есть весьма популярная заметка – Excel «тормозит». Что делать? К ней масса комментариев, и однажды мне прислали файл, который практически не хотел работать – простой переход с ячейки на ячейку занимал несколько секунд. Выяснилось, что была отформатирована последняя ячейка на одном из листов F1048576.
Используйте команду Clean Excess Cell Formatting / Удалить лишнее форматирование ячеек (см. рис. 5). Появится окно выбора: очистить от форматирования только активный лист или все листы в книге. Сделайте свой выбор и нажмите Ok. Если лишнее форматирование отображается на экране, вы сразу же увидите работу надстройки. Если лишнее форматирование «далеко», работа надстройки пройдет визуально незаметно. После выполнения операции очистки Excel предложит нажать Да для сохранения изменений или Нет, чтобы отменить сохранение. Не верьте Excel’ю! В любом случае, изменения сохраняться. Причем Ctrl-Z их не берет! Изменения не обратимы.
При очистке лишнего форматирования из листа удаляются отформатированные ячейки, расположенные после последней непустой ячейки. Например, если вы применили условное форматирование к целому столбцу А, но ваши данные располагаются только до А20, условное форматирование будет удалено из строк, расположенных за строкой 20.
В настоящем разделе под форматированием понимается выделение ячеек цветом, установление границ ячеек, условное форматирование, установление цвета или формата текста и многие другие «шалости», которые я рекомендую никогда не вводить для целых строк и столбцов.
Управление паролями. Если вы используете надстройку Inquire для выполнения анализа и сравнения книг, защищенных паролем, вам нужно добавить пароль книги в список паролей, чтобы надстройка могла открыть сохраненную копию книг. Используйте команду Workbook Passwords / Пароли книги, чтобы добавить пароли, которые будут сохранены на компьютере. Эти пароли шифруются и доступны только вам.
Файлы к уроку:
- Для спонсоров Boosty
- Для спонсоров VK
Ссылки:
- Страница курса
- Плейлист YouTube
- Плейлист ВК
Описание
В этом уроке вы узнаете:
- Зачем нужен Power Query
- История Power Query
- Как установить Power Query в Excel
- Зачем нужен Power Query
- Как создать запрос в Power Query
В этом вводном уроке курса Excel Power Query на 1-2-3 мы узнаем, что такое Power Query, зачем он нужен, как его установить и запустить.
Power Query — это встроенный инструмент Excel для получения и преобразования данных (Get and Transform).
Специалистам по Excel приходится каждый день тратить уйму времени на преобразование данных. Мы работаем с разными источниками и данные далеко не всегда приходят в удобном виде.
Например, каждый месяц вы получаете таблицу с ответами на вопросы теста сотрудников компании, где вы работаете в таком виде:
Первый столбец — это дата прохождения теста. 2 следующих столбца — это информация о сотруднике и точке продаж. Далее множество столбцов с ответами на вопросы, а вопрос находится в заголовках столбцов. Ваша задача — получить такую таблицу:
Для каждого сотрудника здесь указано количество ответов, количество верных ответов, результат теста и перечень вопросов с неверными ответами.
В Excel эта задача решается долго и тяжело. Если тесты происходят, например, раз в неделю, то каждую неделю вам придется тратить уйму времени на обработку файлов. Более того, чтобы решить эту задачу стандартными возможностями Excel нужен достаточно высокий уровень владения.
Как вы думаете, сколько времени уйдет на решение этой задачи в Excel Power Query? Всего несколько минут. Более того, вам достаточно решить эту задачу всего 1 раз. А когда придут новые данные достаточно будет всего лишь нажать «Обновить».
Решение
Запуск Power Query
Если у вас Excel от 2016 версии и новее, то Power Query устанавливать не нужно. Он уже встроен в Excel.
Если у вас Excel 2010 или 2013, то Power Query нужно сначала скачать. Перейдите по ссылке https://www.microsoft.com/ru-ru/download/details.aspx?id=39379 и нажмите «Скачать». Потом отметьте галочкой файл для вашей разрядности операционной системы (64 или 32 бит). После скачивания файла запустите установку.
Теперь в главном меню Excel должна появиться еще одна вкладка. Если вкладка не появилась, то перейдите в меню Файл — Параметры — Настройки — Управление — Надстройки СОМ. В открывшемся окне отметьте галочкой пункт Power Query.
Добавить кнопки Power Query на панель быстрого доступа
Я рекомендую добавить кнопки для работы с Power Query на панель быстрого доступа. Это ускоряет работу. Я настоятельно рекомендую добавить 3 команды:
- Изменить запрос
- Запросы и подключения
- Запустить редактор запросов
Если вы не знаете как добавлять кнопки в панель быстрого доступа, то посмотрите видео-версию урока на YouTube.
Нажмите «Настройка панели быстрого доступа». В появившемся окне справа снизу найдите кнопку «Экспорт/импорт». Нажмите ее и укажите путь к скачанному файлу.
Предварительные настройки Power Query
Откройте редактор запросов любым удобным способом:
- При помощи созданной кнопки в панели быстрого доступа
- Вкладка Данные — Группа Получить и преобразовать данные — Получить данные — Запустить редактор запросов
В окне Редактора запросов нажмите Файл — Параметры и настройки — Параметры запроса. В пункте Загрузка данных сделайте настройки как на картинке:
Теперь перейдите в пункт Редактор Power Query и поставьте галочку «Отобразить редактор запросов».
Далее переходим в пункт Конфиденциальность и выбираем «Всегда игнорировать уровни конфиденциальности».
Жмем ОК. Настройки вступят в силу при следующем запуске редактора запросов.
Создаем первый запрос Power Query
Создадим первый запрос к веб-странице с таблицей состава индекса Dow Jones. Выполняем следующие действия:
- Запускаем редактор запросов
- Вкладка Главная — Создать источник — Другие источники — Интернет
- Вводим адрес https://finance.yahoo.com/quote/%5EDJI/components?ltr=1
- Нажимаем Подключение
- Слева указываем нужную таблицу и жмем ОК
Перед вам появится следующее окно редактора запросов Power Query:
Сверху мы видим меню в привычном ленточном интерфейсе как и во всех продуктах Microsoft Office. Слева список запросов, справа примененные шаги к запросу. Теперь продолжим работать с нашим запросом.
Удалим шаг Изменить тип. Для этого в списке шагов справа нажмем на крестик слева от названия шага. Укажем тип данных для каждого столбца.
По умолчанию Power Query определил тип данных каждого столбца как текстовый. Об этом говорит пиктограмма с символами ABC слева от названий столбцов.
Попробуйте нажать на пиктограмму ABC столбца Last Price и указать тип данных десятичное число. В столбце во всех строках отобразятся ошибки. Это произошло из-за того, что в нашем регионе целая и дробная части разделяются запятыми, а в таблице с этого сайта точкой. В таком случае нужно указать тип с использованием локали.
Нажмите правой кнопкой мыши на название столбца Last Price — Тип изменения — Используя локаль. Укажите тип данных целое число и языковой стандарт Английский США. Теперь все получилось. То же самое проделайте для других числовых столбцов.
Теперь перейдите на вкладку Главная, щелкните на нижнюю часть кнопки Закрыть и загрузить, в списке выберете Закрыть и загрузить в. Отметьте пункт Таблица и укажите место, куда эту таблицу поместить, потом нажмите ОК. Наш первый запрос готов!
Power Query разное
Номер урока | Урок | Описание |
---|---|---|
1 | Power Query. Знакомство с Power Query | В этом уроке мы познакомимся в Power Query. Зачем нужен Power Query Как установить Power Query Как его Настроить Как изменить запрос |
2 | Power Query. Подключение XML | В этом уроке мы научимся подключаться к файлам в формате XML и импортировать эти данные в Excel. |
3 | Power Query. Уникальные значения двух столбцов | В этом уроке мы получим уникальные значения из двух столбцов таблицы. |
4 | Power Query. Импорт таблиц PDF | Импорт таблиц из файла PDF, импорт таблиц из множества PDF файлов с объединением в один датасет. |
5 | Power Query. Собрать разбитую строку | В этом практическом уроке мы научимся соединять разбитую строку. Этот пример взят из реальной практики одного из спонсоров канала. |
6 | Power Query. Пивот со счетом | В этом уроке мы создадим пивот, в котором будут пронумерованы столбцы. |
7 | Power Query. Минимальное значение в диапазоне | В этом уроке мы найдем минимальное значение в диапазоне строк. |
8 | Power Query. Нарастающий итог 2 | В этом уроке мы изучим еще один способ сделать нарастающий итог в Power Query. |
9 | Power Query. Нарастающий итог 3 | В этом уроке мы разберем еще один способ выполнить нарастающий итог в Power Query. |
10 | Power Query. Прирост населения Китая | В этом уроке мы сравним прирост населения Китая с приростом населения мира в целом за последние 200 лет. |
11 | Power Query. Повторяющиеся значения в строке | В этом уроке разберем как определить есть ли в строке повторения. |
12 | Power Query. Таблица навигации по функциям М | В этом уроке вы узнаете как создать таблицу навигации по всем функциям языка Power Query. |
13 | Power Query. Удалить запросы и модель данных из книги | Разберем как быстро удалить все запросы и модель данных из текущей книги. |
14 | Power Query. Открыть еще 1 Excel и еще 3 трюка | В этом видео я покажу как открыть еще 1 файл Excel, если у вас уже запущен Power Query. |
15 | Power Query. Подключиться к ZIP архиву | Пользовательская функция для подключения к zip файлу. Подключимся к txt файлу, который находится в zip архиве. |
16 | Power Query. Импорт Word | Импортируем таблицу из документа Word. Для спонсоров разберем импорт таблицы с объединенными ячейками. |
17 | Power Query. Фильтрация списком | В этом уроке мы хотим отфильтровать таблицу при помощи списка, например, хотим получить продажи определенных товаров. |
18 | Power Query. Пользовательская функция Switch | В этом уроке мы создадим пользовательскую функцию Switch. |
19 | Power Query. Информация о формате, Чтение zip | В этом уроке мы узнаем как получить информацию о формате ячеек при помощи Power Query. |
20 | Power Query. Импорт данных из gz | В этом уроке мы разберем как импортировать файл в формате gz. |
21 | Power Query. Удалить лишние пробелы, Text.Split | В этом уроке мы научимся удалять лишние пробелы в текстовом столбце таблицы. |
22 | Power Query. Параметры в SQL-запросе | Вы хотите, чтобы в ваш SQL-запрос подставлялось значение из параметра, источником которого является ячейка с листа Excel. |
23 | Power Query. Параметры в SQL-запросе 2 | Ваш запрос очень большой и количество параметров в нем большое. Как организовать все так, чтобы было удобно работать. |
24 | Power Query. Добавить столбец в каждую таблицу табличного столбца | В этом уроке вы узнаете как трансформировать табличный столбец, например, вы сможете добавить столбец индекса внутрь каждой таблицы табличного столбца. |
25 | Power Query. Интервальный просмотр 1 (ВПР 1) | Объединить 2 таблицы с интервальным просмотром = 1. |
26 | Power Query. Относительный путь к файлу и папке | Если ваш источник находится в той же папке, что и отчет, то вы можете указать относительный путь. В таком случае подключение не будет ломаться, если вы запустите файл на другом компьютере. |
27 | Power Query. Нарастающий итог в каждой категории | Применим функцию нарастающего итога не ко всей таблице, а к определенному окну. |
28 | Power Query. ВПР без Merge или Join | Вам нужно подставить данные из столбца другой таблицы. Как это сделать без объединения таблиц. |
Power Query — это инструмент для продвинутого бизнес-анализа, предназначенный для подключения к источникам данных и их преобразования.
Несмотря на то, что данные в Excel можно загружать с помощью инструментов Power Pivot, возможностей для преобразования и доступных источников данных в Power Query намного больше и работа с ними проще. Итак, теперь для обработки таблиц и подключения к данным больше не нужны сложные формулы и макросы.
Power Query в меню Excel
В зависимости от того, какая у вас версия Excel, вид надстройки Power Query может выглядеть по-разному. В Excel 2010 и 2013 надстройка появляется в виде отдельной вкладки «Power Query» (если у вас такой вкладки нет, прочитайте, как ее установить).
В Excel после 2016 года Power Query уже встроен по умолчанию и находится в меню Данные → раздел Получить и преобразовать данные (в некоторых версиях Excel этот раздел называется Скачать & преобразовать).
Работа с данными в Power Query
Power Query умеет:
- напрямую подключаться к данным в различных источниках;
- очищать данные и выполнять преобразования;
- подготовленные данные выгружать на лист, в сводную таблицу или добавлять в модель данных Excel.
Таким образом, Power Query – это полноценный ETL-инструмент (Extract, Transform, Load).
Подключение к данным в Power Query
В Power Query можно подключать данные из самых разных источников: таблицы в самом файле и других Excel-файлах, текстовые/csv файлы, папки, базы данных, источники в интернете, файлы xml и json, pdf-файлы, данные из канала OData и так далее. А также загрузить данные из Power BI и написать запрос с нуля – Пустой запрос.
Чтобы посмотреть, какие именно источники данных доступны в Excel, перейдите на вкладку Данные → Получить данные (или Создать запрос, если у вас не новая версия Excel).
Для примера добавим в Power Query данные из таблицы.
- Выделите любую таблицу на листе Excel и перейдите в меню:
— в Excel 2010 и 2013: вкладка Power Query → Из таблицы (или С листа).
— для Excel после 2016: меню Данные → Из таблицы (Из таблицы/диапазона).
В открывшемся окне поставьте галочку «Таблица с заголовками».
Таблица с данными при этом превратится в «умную» smart-таблицу.
- Откроется окно редактора запросов, в котором будет наша таблица. Нажимаем кнопку в меню Главная → Закрыть и загрузить. Готово!
Чтобы открыть список запросов, нажмите в меню Данные → Запросы и подключения. В открывшейся вкладке «Запросы и подключения» отобразится список всех запросов, созданных в файле.
Редактор запросов Power Query
Разберем подробнее интерфейс редактора запросов Power Query.
Если окно редактора у вас закрыто, откройте его в меню Данные → Получить данные → Запустить редактор запросов. Или щелкните 2 раза мышкой по названию запроса на вкладке Запросы и подключения.
Итак, в редакторе Power Query есть:
- Лента редактора запросов для вкладок меню: Главная, Преобразование, Добавить столбец, Просмотр.
- Перечень созданных запросов, который можно свернуть / развернуть.
- Строка формул.
- Название самого запроса.
- Примененные шаги запроса: записанные шаги получения или преобразования данных. Их можно редактировать, выбирая в списке, изменять последовательность шагов, добавлять новые или удалять.
- Область предварительного просмотра, в которой выводится результат преобразования данных для каждого шага.
- Меню для данных, которое открывается при нажатии правой кнопкой мышки.
- При выборе правой кнопкой мыши названия шага появляется его контекстное меню.
Преобразование данных
Посмотрим на простом примере, как преобразовать данные в Power Query.
Допустим, у нас есть таблица с выручкой и расходами по городам за несколько лет. В таблице эти показатели разделены на две группы. Столбец с городами тоже имеет группировки (смотрите рисунок).
Если вы знакомы со сводными таблицами, то знаете, что построить сводную на основе таких данных не получится. Привести их в «нужный вид» можно в Power Query буквально за несколько щелчков мышкой:
- выделите таблицу (можно выделить таблицу целиком или одну из ячеек);
- выберите в меню Данные → Из таблицы (Из таблицы/диапазона);
- в появившемся окне поставьте галочку рядом с «Таблица с заголовками» → ОК;
- в открывшемся редакторе запросов выделите столбцы «показатель» и «город», нажав мышкой на названия столбцов с зажатым Ctrl;
- в меню нажмите Преобразование → Заполнить → Вниз.
- Готово! Пустые строки заполнены значениями из ячеек сверху.
При создании запроса Power Query сам автоматически записывает его шаги. Их можно увидеть в области справа Параметры запроса → Примененные шаги.
Шаги запроса можно редактировать, выбирая мышкой (таблица в области предварительного просмотра при этом тоже изменится). Ненужные шаги удаляются при нажатии на «крестик». Можно добавлять новые шаги в середину запроса или менять их местами, перемещая мышкой.
Обработка данных в Power Query выполняется последовательно, шаг за шагом, и каждое последующее действие использует результаты предыдущего. Поэтому при добавлении новых шагов или изменении их последовательности обязательно проверьте, все ли в порядке со следующими операциями. Проверить, все ли в порядке, можно, нажав на самый нижний шаг.
Кроме простых операций с данными, Power Query умеет выполнять и другие действия: сортировать, фильтровать, заменять, группировать, заполнять пустые значения, удалять дубликаты, работать с текстом и числами, выполнять простые вычисления, транспонировать таблицы и разворачивать их столбцы, объединять данные и многое-многое другое.
Строка формул и расширенный редактор
Код запроса, который вы создаете в Power Query, автоматически записывается на языке M. Это не значит, что обязательно потребуется писать код – большинство операций по преобразованию данных можно выполнить только с помощью кнопок меню.
Формулы Power Query выводятся в строке формул. По умолчанию эта строка скрыта, ее включают на вкладке Просмотр → Строка формул.
Чтобы посмотреть все формулы, здесь же на вкладке Просмотр нажмите на кнопку Расширенный редактор. В открывшемся окне появится полный текст запроса.
Типы данных Power Query
Определение типов данных – важная часть каждого запроса Power Query. Обычно типы данных задают в конце запроса после всех преобразований:
- в меню Главная → Тип данных или Преобразование → Определить тип данных;
- нажать мышкой по значку типа данных в названии столбца;
- определить тип даты на вкладке Преобразование → Дата → Выполнить анализ.
Перед сохранением запроса проверьте, все ли типы данных заданы правильно. Это сэкономит время на поиск ошибок. А вот шаг «Измененный тип», который автоматически проставляется в середине запроса, лучше удалить.
Импорт данных из Power Query
Итак, данные преобразованы. Что делать с ними дальше? В Power Query доступно несколько вариантов импорта данных.
Способы импорта можно задать при сохранении запроса Главная → Закрыть и загрузить в…
… А если запрос уже сохранен – в списке на вкладке Запросы и подключения. Щелкните по названию запроса правой кнопкой мышки и выберите в меню Загрузить в
Excel предлагает пользователям на выбор несколько вариантов импорта данных (вид окна импорта может отличаться в зависимости от версии Excel):
- Выгрузка на лист: выберите способ представления данных → Таблица, поместить данные на лист. На листе будет создана «умная» smart-таблица с данными из Power Query.
- Сводная таблица или сводная диаграмма: способ представления → Отчет сводной таблицы или Сводная диаграмма. Данные будут импортированы в виде сводной таблицы.
- Только подключение: выберите Только создать подключение. Запрос будет сохранен.
- Добавить данные в модель данных: при нажатии галочки «Добавить эти данные в модель данных» результаты выполнения запроса будут добавлены в модель Power Pivot.