Power Query: превратить месяцы из столбцов в строки и не сломать новый месяц
Выгрузка продаж выглядит удобно для чтения: строка товара, рядом суммы за январь и февраль. Для отчёта по месяцам эта форма мешает. Сводная ждёт одно поле «Месяц» и одно поле «Продажи», а в исходнике каждый месяц — отдельная колонка. Когда появится март, придётся снова поправлять диапазоны и формулы. В Power Query эту таблицу можно развернуть один раз так, чтобы новые месяцы входили в результат при обновлении.
Что именно меняется в данных
Пусть исходная таблица содержит две строки:
Товар Регион Январь Февраль А Север 10 15 Б Юг 7 9
После преобразования получится четыре строки:
Товар Регион Месяц Продажи А Север Январь 10 А Север Февраль 15 Б Юг Январь 7 Б Юг Февраль 9
Поля «Товар» и «Регион» повторяются, зато месяц теперь хранится в одной колонке. Можно сгруппировать продажи по месяцу, отфильтровать регион и построить график без отдельного правила для каждой новой колонки. В примере итог равен 41: 10 + 15 + 7 + 9.
Выберите постоянные поля, а не сегодняшние месяцы
Загрузите исходную таблицу в редактор Power Query через Данные → Из таблицы/диапазона. Выделите «Товар» и «Регион»: это поля, которые должны остаться в каждой выходной строке. Затем на вкладке «Преобразование» выберите Отменить свёртывание других столбцов (Unpivot Other Columns). Power Query создаст две колонки, обычно Атрибут и Значение. Переименуйте их в «Месяц» и «Продажи», задайте продажам числовой тип и загрузите результат.
Есть похожая команда Отменить свёртывание только выделенных столбцов (Unpivot Only Selected Columns). Для нынешних января и февраля результат совпадёт. Но она запомнит именно эти два месяца, и март после обновления останется отдельной колонкой. Команда «других столбцов» запоминает «Товар» и «Регион», а новые месяцы превращает в строки.
Проверьте март, прежде чем строить график
Добавим в исходную таблицу колонку «Март» со значениями 12 и 8. После обновления ожидаем шесть строк и общую сумму 61. У товара А появится строка «Март — 12», у товара Б — «Март — 8». Если строк только четыре, откройте применённые шаги и посмотрите, какая операция разворота была выбрана. Если новых строк шесть, но в сводной март не виден, обновите сводную и проверьте её источник.
У правила «все остальные» есть понятная граница: если рядом с месяцами появится колонка «Комментарий», она тоже превратится в строки. Поэтому постоянные описательные поля добавляют к списку сохраняемых колонок, а состав новых столбцов после обновления просматривают до расчёта итогов. Это проверка структуры входа, а не повод возвращаться к ручной перестройке каждого месяца.
Если отчёт охватывает несколько лет, одно слово «Январь» недостаточно для оси времени: январь 2026-го и январь 2027-го станут одинаковым значением. Сохраните год отдельным полем из источника или включите год в заголовок месяца, затем преобразуйте его в дату месяца. После этого январские строки разных лет можно сортировать и сравнивать без смешения.
Ещё одна полезная проверка касается уровня одной строки. До преобразования строка означала один товар в одном регионе со всеми месячными суммами. После него строка означает один товар, один регион и один месяц. Если исходная выгрузка содержит по две строки одного товара в регионе, после разворота их тоже останется по две на каждый месяц. Это нормально, если строки относятся к разным магазинам; тогда добавьте «Магазин» в сохраняемые поля. Если это случайные дубли, удаляйте их по осмысленному ключу до итоговой группировки, иначе сумма будет завышена.
При отмене свёртывания Power Query пропускает пары «месяц — null»: если вместо 8 у товара Б в марте стоит null, строки «Б — Март» в результате не будет: получится пять строк вместо шести. Если пустая ячейка означает ноль продаж и этот месяц должен присутствовать в отчёте, замените null на 0 в месячных столбцах до разворота. Когда добавите новый месяц, проверьте, что шаг замены охватывает и его. Если данные за месяц ещё не поступили, сохраняйте пустоту и отделяйте её от нулевых продаж.
Для продолжения разберите задачи аналитика по обновляемым отчётам и маршрут от Power Query к модели данных. Там видно, как такая длинная таблица становится основой отчёта, а не отдельным упражнением в редакторе.
Как закрепить приём на рабочей книге
В курсе «Продвинутый Excel: Power Query, Power Pivot и автоматизация отчётов» есть отдельный урок «Из столбцов месяцев в строки». Вы примените преобразование после сбора месячных файлов, сгруппируете результат и проверите контрольные итоги. Дальше на тех же рабочих принципах строятся продажи и маржа, остатки и план-факт в Power Pivot. Откройте программу и пробный урок, чтобы собрать обновляемый отчёт целиком.
