Преобразование таблицы с иерархией в плоскую таблицу в excel

let
    RowsOutline     = Expression.Evaluate(Text.FromBinary(File.Contents("J:PQExcelWorksheetsRowOutlines.pq")),#shared),
    FullPath        = Excel.CurrentWorkbook(){[Name="filename"]}[Content]{0}[Column1],
    DataWithOutline = RowsOutline(FullPath,"Январ2019",true)[DataWithOutline]{0},
    Headers         = List.Buffer(List.FirstN(DataWithOutline[Column1],3)),
    Promoted        = Table.PromoteHeaders(DataWithOutline, [PromoteAllScalars=true]),
    SkipEmpty       = Table.Skip(Promoted,(_)=>[Показатели]=null),
    ReplaceNull     = Table.ReplaceValue(SkipEmpty,null,0,Replacer.ReplaceValue,{"Column1"}),
    FillDown        = Table.FillDown(ReplaceNull,{"Счет"}),
    Col             = List.Buffer(List.Skip(Table.ColumnNames(ReplaceNull),4)),
    Pos             = List.Buffer(List.PositionOf(Col,{"сальдо","Оборот"},3,(a,b)=>List.AnyTrue(List.Transform(b,each Text.Contains(a,_))))),
    Col2            = List.Buffer(List.Transform(Pos,each Col{_})),
    Col3            = List.Buffer(List.Transform(List.Zip({Pos,List.Skip(Pos)&{List.Count(Col)}}),each if _{1}-_{0}>1 then List.Transform({_{0}+1.._{1}-1},each Col{_}) else Col{_{1}-1})),
    Structure       = List.Zip({Col2,Col3}),
    AddRec          = Table.RemoveColumns(Table.AddColumn(FillDown, "rec", each let rec =_ in Record.FromList(List.Transform(Col3,each if Value.Is(_, type list) then Record.SelectFields(rec,_) else Record.Field(rec,_)),Col2)),Col),
    Group           = Table.Group(Table.AddIndexColumn(AddRec, "i", 0, 1), {"Column1", "Счет","i"}, {{"_", each _}},0,(a,b)=>if a[Column1]=b[Column1] and a[Счет]=b[Счет] then 0 else 1),
    Indexed         = Table.Group(Table.ExpandTableColumn(Table.RemoveColumns(Table.AddIndexColumn(Table.Sort(Group,"i"),"Индекс"),"i"), "_", {"Показатели","rec"}), {"Column1", "Счет", "Показатели", "Индекс"}, {{"rec", each [rec]}}),
    Pivot           = Table.Pivot(Table.Sort(Indexed,{{"Индекс", Order.Ascending}}), List.Distinct(Indexed[Показатели]), "Показатели", "rec"),
    Sorted          = Table.Sort(Pivot,{{"Индекс", Order.Ascending}}),
    PivotedCol      = List.Skip(Table.ColumnNames(Sorted),3),
    GroupRecursive  = (optional t,optional it)=> 
        let 
            t       = if t = null then Sorted else t,
            it      = if it = null then 0 else it, 
            header  = Headers{it},
            Grouped = Table.Group(t, {"Column1"}, 
                {
                    {header, each Record.ToList(_{0}){1}},
                    {"_",    each let 
                                tbl=Table.Skip(Table.Sort(_,"Индекс"),each [Column1]<=it) 
                            in if it<List.Count(Headers)-2 
                               then @GroupRecursive(tbl,it+1) 
                               else Table.RenameColumns(tbl,{Headers{0},List.Last(Headers)})}
                },
                0,(a,b)=>if b[Column1]>a[Column1] then 0 else 1
            )
        in
            Table.ExpandTableColumn(Grouped,"_",List.Skip(Headers,it+1)&PivotedCol),
    Merge          = Table.CombineColumns(GroupRecursive(),{"Сумма", "Кол-во", "БУ", "Кол."},(a)=>Table.SelectRows(#table({"a","b"},List.Zip({PivotedCol,a})),each [b]<>null),"a"),
    ExpandRec      = Table.ExpandTableColumn(Table.ExpandTableColumn(Merge, "a", {"a", "b"}, {"Показатели", "b"}), "b", Col2),
    FullExpad      = List.Accumulate(List.Select(Structure,each Value.Is(_{1},type list)),ExpandRec,(a,b)=>Table.ExpandRecordColumn(a,b{0},b{1},List.Transform(b{1},each b{0}&"."&Text.Split(_,"_"){0}))),
    Unpivot        = Table.UnpivotOtherColumns(Table.RemoveColumns(FullExpad,"Column1"), {"Показатели"}&Headers, "Атрибут", "Значение"),
    Result         = Table.SplitColumn(Unpivot, "Атрибут", Splitter.SplitTextByDelimiter(".", QuoteStyle.Csv), {"Атрибут.1", "Атрибут.2"})
in
    Result

Содержание

      • 0.0.1 1. Создаем сводную таблицу
      • 0.0.2 2. Изменяем макет сводной таблицы на табличный
      • 0.0.3 3. Удаляем итоговые строки
      • 0.0.4 4. Заполняем пропущенные данные
    • 0.1 Ссылки по теме
  • 1 Добавить «Редизайн таблицы» в Excel 2016, 2013, 2010, 2007
  • 2 Как работать с надстройкой:

Добрый день. Сегодня я расскажу Вам, как создавать плоскую сводную таблицу в Excel. Пройдя этот урок, Вы научитесь создавать сводные таблицы, как на картинке ниже.

как сделать плоскую таблицу в excel

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

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

как сделать плоскую таблицу в excel

1. Создаем сводную таблицу

Подробно останавливаться на этом пункте не буду, так как у нас на сайте есть отличная статья на эту тему: «

Как создать сводную таблицу в Excel

«. Если Вы еще не знаете как это сделать, рекомендую прочитать, иначе двигаемся дальше.

как сделать плоскую таблицу в excel

2. Изменяем макет сводной таблицы на табличный

Для этого кликните на любую ячейку сводной таблицы, вверху справа должен появиться блок меню «

Работа со сводными таблицами «. В нем выберите меню «

Конструктор «, далее подменю «

Макет отчета » и там «

Показать в табличной форме «.

как сделать плоскую таблицу в excelкак сделать плоскую таблицу в excel

Выполнив эти действия, мы получаем сводную таблицу уже не в древовидном виде, а в форме таблицы. Однако для полноценной работы, нам мешают итоговые строки и отсутствие данных в части ячеек. Сейчас мы это исправим.

как сделать плоскую таблицу в excel

3. Удаляем итоговые строки

Для удаления итоговых строк кликните правой кнопкой мыши на любую итоговую ячейку, к примеру «Январь 2017 Итог». В появившемся

контекстном меню выберите «

Параметры поля » и там в блоке «

Итоги » выберите «

Нет «.

как сделать плоскую таблицу в excelкак сделать плоскую таблицу в excel

Итак, итоги удалены. Осталось добавить в пустые строки дублирующие данные и плоская сводная таблица будет готова!

4. Заполняем пропущенные данные

Если Вы обратите внимание на сводную таблицу в самом начале урока, то заметите что дата проставлена не во всех ячейках, сейчас мы это исправим. Для этого снова вызовите контекстное меню, нажав правой кнопкой мыши на любую из дат и снова выберите «Параметры поля…«, там перейдите в раздел «Разметка и печать» и установите галочку напротив пункта «Повторять подписи элементов«.

как сделать плоскую таблицу в excel

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

как сделать плоскую таблицу в excel

На этом текущий урок закончен, спасибо за внимание.

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

Рано или поздно пользователь такой таблицы приходит к мысли, что «пусть будет не так красиво, зато можно работать» и начинает упрощать дизайн своей таблицы, приводя его в соответствие с классическими рекомендациями:

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

Но если сделать однострочную шапку из многоэтажной или разбить один столбец на несколько достаточно просто, то реконструирование таблицы может занять много времени (особенно при больших размерах ). Имеется ввиду следующая ситуация:

В терминах баз данных правую таблицу обычно называют плоской (flat) — именно по таким таблицам лучше всего строить отчеты сводных таблиц (pivot tables) и проводить аналитику.

Преобразовать двумерную таблицу в плоскую можно при помощи простого макроса. Откройте редактор Visual Basic — в Excel 2003 и старше это меню Сервис — Макрос — Редактор Visual Basic, а в новых версиях вкладка Разработчик — Редактор Visual Basic (Developer — Visual Basic Editor) или сочетание клавиш ALT+F11. Вставьте новый модуль (Insert — Module) и скопируйте туда текст этого макроса:

Sub Redesigner()      Dim i As Long      Dim hc As Integer, hr As Integer      Dim ns As Worksheet            hr = InputBox("Сколько строк с подписями сверху?")      hc = InputBox("Сколько столбцов с подписями слева?")            Application.ScreenUpdating = False            i = 1      Set inpdata = Selection      Set ns = Worksheets.Add            For r = (hr + 1) To inpdata.Rows.Count          For c = (hc + 1) To inpdata.Columns.Count              For j = 1 To hc                  ns.Cells(i, j) = inpdata.Cells(r, j)              Next j                            For k = 1 To hr                  ns.Cells(i, j + k - 1) = inpdata.Cells(k, c)              Next k                            ns.Cells(i, j + k - 1) = inpdata.Cells(r, c)              i = i + 1          Next c      Next r  End Sub  

После этого можно закрыть редактор VBA и вернуться в Excel. Теперь можно выделить исходную таблицу (полностью, с шапкой и первым столбцом с месяцами) и запустить наш макрос через меню Сервис — Макрос — Макросы (Tools — Macro — Macros) или нажав ALT+F8.

Макрос вставит в книгу новый лист и создаст на нем новый, реконструированный вариант выделенной таблицы. С такой таблицей можно работать «по полной программе», применяя весь арсенал средств Excel для обработки и анализа больших списков.

Ссылки по теме

  • Что такое макросы, куда вставлять код макроса на VBA, как их использовать
  • Создание отчетов с помощью сводных таблиц

    Таблицы в Excel представляют собой ряд строк и столбцов со связанными данными, которыми вы управляете независимо друг от друга.

    Работая в Excel с таблицами, вы сможете создавать отчеты, делать расчеты, строить графики и диаграммы, сортировать и фильтровать информацию.

    Если ваша работа связана с обработкой данных, то навыки работы с таблицами в Эксель помогут вам сильно сэкономить время и повысить эффективность.

    Как работать в Excel с таблицами. Пошаговая инструкция

    Прежде чем работать с таблицами в Эксель, последуйте рекомендациям по организации данных:

    • Данные должны быть организованы в строках и столбцах, причем каждая строка должна содержать информацию об одной записи, например о заказе;
    • Первая строка таблицы должна содержать короткие, уникальные заголовки;
    • Каждый столбец должен содержать один тип данных, таких как числа, валюта или текст;
    • Каждая строка должна содержать данные для одной записи, например, заказа. Если применимо, укажите уникальный идентификатор для каждой строки, например номер заказа;
    • В таблице не должно быть пустых строк и абсолютно пустых столбцов.

    1. Выделите область ячеек для создания таблицы

    как сделать плоскую таблицу в excel

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

    2. Нажмите кнопку “Таблица” на панели быстрого доступа

    На вкладке “Вставка” нажмите кнопку “Таблица”.

    3. Выберите диапазон ячеек

    как сделать плоскую таблицу в excel

    В всплывающем вы можете скорректировать расположение данных, а также настроить отображение заголовков. Когда все готово, нажмите “ОК”.

    4. Таблица готова. Заполняйте данными!

    как сделать плоскую таблицу в excel

    Поздравляю, ваша таблица готова к заполнению! Об основных возможностях в работе с умными таблицами вы узнаете ниже.

    Форматирование таблицы в Excel

    Для настройки формата таблицы в Экселе доступны предварительно настроенные стили. Все они находятся на вкладке “Конструктор” в разделе “Стили таблиц”:

    Если 7-ми стилей вам мало для выбора, тогда, нажав на кнопку, в правом нижнем углу стилей таблиц, раскроются все доступные стили. В дополнении к предустановленным системой стилям, вы можете настроить свой формат.

    Помимо цветовой гаммы, в меню “Конструктора” таблиц можно настроить:

    • Отображение строки заголовков – включает и отключает заголовки в таблице;
    • Строку итогов – включает и отключает строку с суммой значений в колонках;
    • Чередующиеся строки – подсвечивает цветом чередующиеся строки;
    • Первый столбец – выделяет “жирным” текст в первом столбце с данными;
    • Последний столбец – выделяет “жирным” текст в последнем столбце;
    • Чередующиеся столбцы – подсвечивает цветом чередующиеся столбцы;
    • Кнопка фильтра – добавляет и убирает кнопки фильтра в заголовках столбцов.

    Как добавить строку или столбец в таблице Excel

    Даже внутри уже созданной таблицы вы можете добавлять строки или столбцы. Для этого кликните на любой ячейке правой клавишей мыши для вызова всплывающего окна:

    • Выберите пункт “Вставить” и кликните левой клавишей мыши по “Столбцы таблицы слева” если хотите добавить столбец, или “Строки таблицы выше”, если хотите вставить строку.

    как сделать плоскую таблицу в excel

    • Если вы хотите удалить строку или столбец в таблице, то спуститесь по списку в сплывающем окне до пункта “Удалить” и выберите “Столбцы таблицы”, если хотите удалить столбец или “Строки таблицы”, если хотите удалить строку.

    как сделать плоскую таблицу в excel

    Как отсортировать таблицу в Excel

    Для сортировки информации при работе с таблицей, нажмите справа от заголовка колонки “стрелочку”, после чего появится всплывающее окно:

    как сделать плоскую таблицу в excel

    В окне выберите по какому принципу отсортировать данные: “по возрастанию”, “по убыванию”, “по цвету”, “числовым фильтрам”.

    Как отфильтровать данные в таблице Excel

    Для фильтрации информации в таблице нажмите справа от заголовка колонки “стрелочку”, после чего появится всплывающее окно:

    • “Текстовый фильтр” отображается когда среди данных колонки есть текстовые значения;
    • “Фильтр по цвету” также как и текстовый, доступен когда в таблице есть ячейки, окрашенные в отличающийся от стандартного оформления цвета;
    • “Числовой фильтр” позволяет отобрать данные по параметрам: “Равно…”, “Не равно…”, “Больше…”, “Больше или равно…”, “Меньше…”, “Меньше или равно…”, “Между…”, “Первые 10…”, “Выше среднего”, “Ниже среднего”, а также настроить собственный фильтр.
    • В всплывающем окне, под “Поиском” отображаются все данные, по которым можно произвести фильтрацию, а также одним нажатием выделить все значения или выбрать только пустые ячейки.

    Если вы хотите отменить все созданные настройки фильтрации, снова откройте всплывающее окно над нужной колонкой и нажмите “Удалить фильтр из столбца”. После этого таблица вернется в исходный вид.

    Как посчитать сумму в таблице Excel

    Для того чтобы посчитать сумму колонки в конце таблицы, нажмите правой клавишей мыши на любой ячейке и вызовите всплывающее окно:

    В списке окна выберите пункт “Таблица” => “Строка итогов”:

    Внизу таблица появится промежуточный итог. Нажмите левой клавишей мыши на ячейке с суммой.

    В выпадающем меню выберите принцип промежуточного итога: это может быть сумма значений колонки, “среднее”, “количество”, “количество чисел”, “максимум”, “минимум” и т.д.

    Как в Excel закрепить шапку таблицы

    Таблицы, с которыми приходится работать, зачастую крупные и содержат в себе десятки строк. Прокручивая таблицу “вниз” сложно ориентироваться в данных, если не видно заголовков столбцов. В Эксель есть возможность закрепить шапку в таблице таким образом, что при прокрутке данных вам будут видны заголовки колонок.

    Для того чтобы закрепить заголовки сделайте следующее:

    • Перейдите на вкладку “Вид” в панели инструментов и выберите пункт “Закрепить области”:
    • Выберите пункт “Закрепить верхнюю строку”:
    • Теперь, прокручивая таблицу, вы не потеряете заголовки и сможете легко сориентироваться где какие данные находятся:

    Как перевернуть таблицу в Excel

    Представим, что у нас есть готовая таблица с данными продаж по менеджерам:

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

    • Выделить таблицу целиком (зажав левую клавишу мыши выделить все ячейки таблицы) и скопировать данные (CTRL+C):
    • Переместить курсор мыши на свободную ячейку и нажать правую клавишу мыши. В открывшемся меню выбрать “Специальная вставка” и нажать на этом пункте левой клавишей мыши:
    • В открывшемся окне в разделе “Вставить” выбрать “значения” и поставить галочку в пункте “транспонировать”:
    • Готово! Месяцы теперь размещены по строкам, а фамилии продавцов по колонкам. Все что остается сделать – это преобразовать полученные данные в таблицу.

    В этой статье вы ознакомились с принципами работы в Excel с таблицами, а также основными подходами в их создании. Пишите свои вопросы в комментарии!

    Сводные таблицы также называют двумерными (2D) таблицами или таблицами в «пользовательском» представлении. Они преподносят информацию в сжатой и наглядной матрице с заголовками столбцов и строк. Но такое представление данных не подходят для построения сводных таблиц PivotTable, графиков, фильтрации, экспорта данных в сторонние системы, т.д. Поэтому перед анализом данных так важно аккуратно преобразовать сводные таблицы в «плоский» список.

    Надстройка «Редизайн таблицы» точно преобразует сводные таблицы в плоский список без написания макросов:

    • Редизайн сводной таблицы в список в секунды
    • Преобразование сложных таблиц с многоуровневыми заголовками
    • Корректный редизайн таблиц с объединёнными или пустыми ячейками
    • Сохранение заголовков столбцов
    • Сохранение форматирования ячеек

    Язык видео: английский. Субтитры: русский, английский. (Внимание: видео может не отражать последние обновления. Используйте инструкцию ниже.)

    Добавить «Редизайн таблицы» в Excel 2016, 2013, 2010, 2007

    Подходит для: Microsoft Excel 2016 – 2007, desktop Office 365 (32-бит и 64-бит).

    Скачать надстройку XLTools

    Как работать с надстройкой:

    • Как преобразовать сводную таблицу Excel в плоский список
    • Как преобразовать сложную сводную таблицу с многоуровневыми заголовками
    • Как выполнить редизайн таблицы с пустыми ячейками
    • Как выполнить редизайн таблицы с объединёнными ячейками
    • Как выполнить редизайн таблицы с сохранением заголовков
    • Как выполнить редизайн таблицы с сохранением формата ячеек
    • Какие таблицы обрабатывает надстройка «Редизайн таблицы»

    Как преобразовать сводную таблицу Excel в плоский список

    1. Нажмите кнопку «Редизайн таблицы» на вкладке XLTools > Откроется диалоговое окно.
    2. Выделите сводную таблицу, включая заголовки.
      Совет: нажмите на любую ячейку таблицы, и вся таблица будет выделена автоматически.
    3. Укажите размер заголовков:
      В простой таблице: Заглавных строк = 1, Заглавных столбцов = 1
    4. Укажите, следует ли поместить результат на новый или на существующий лист.
      Чтобы вставить плоский список на существующий лист, укажите начальную ячейку (верхняя левая).
    5. Нажмите ОК > Готово. Надстройка автоматически подберёт ширину столбцов для плоского списка.

    Некоторые сводные таблицы могут иметь сложную структуру и многоуровневые заголовки. Их также можно сделать плоскими с помощью XLTools:

    1. Нажмите кнопку «Редизайн таблицы» на вкладке XLTools > Откроется диалоговое окно.
    2. Выделите сводную таблицу, включая заголовки.
      Совет: нажмите на любую ячейку таблицы, и вся таблица будет выделена автоматически.
    3. Укажите размер заголовков:
      • Заглавных строк: число строк, которые составляют заголовок таблицы сверху.
      • Заглавных столбцов: число столбцов, которые составляют заголовок таблицы слева.
    4. Укажите, следует ли поместить результат на новый или на существующий лист.
    5. Нажмите ОК > Готово. Надстройка автоматически подберёт ширину столбцов для плоского списка.

    Как выполнить редизайн таблицы с пустыми ячейками

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

    • Если пустые ячейки находятся в заголовке: перед редизайном заполните ячейки заголовков.
    • Если пустые ячейки находятся в теле таблицы: вы можете пропустить соответствующие строки в плоском списке:
    1. Нажмите кнопку «Редизайн таблицы» на вкладке XLTools.
    2. Выделите сводную таблицу, включая заголовки.
    3. Укажите размер заголовков.
    4. Отметьте флажком «Пропустить пустые значения».
    5. Укажите, куда поместить результат.
    6. Нажмите ОК > Готово.

    Как выполнить редизайн таблицы с объединёнными ячейками

    1. Нажмите кнопку «Редизайн таблицы» на вкладке XLTools.
    2. Выделите сводную таблицу, включая заголовки.
    3. Укажите размер заголовков.
    4. Отметьте флажком «Дублировать значение в объединённых ячейках»:
      • Если объединённые ячейки находятся в заголовке: содержимое объединённых ячеек заголовка будет продублировано в каждой соответствующей строке плоского списка.
      • Если в объединённые ячейки находятся в теле таблицы: значения в объединённых ячейках будут продублированы в каждой соответсвующей ячейке плоского списка.
    5. Укажите, куда поместить результат.
    6. Нажмите ОК > Готово.
    1. Нажмите кнопку «Редизайн таблицы» на вкладке XLTools.
    2. Выделите сводную таблицу, включая заголовки.
    3. Укажите размер заголовков.
    4. Отметьте флажком «Сохранить заголовки»:
      • Где это возможно, надстройка продублирует заголовки из сводной таблицы.
      • Категориям таблицы будет автоматически присвоен заголовок «Категория».
      • Переменным значениям таблицы будет автоматически присвоен заголовок «Значение».
    5. Укажите, куда поместить результат.
    6. Нажмите ОК > Готово.

    Как выполнить редизайн таблицы с сохранением формата ячеек

    1. Нажмите кнопку «Редизайн таблицы» на вкладке XLTools.
    2. Выделите сводную таблицу, включая заголовки.
    3. Укажите размер заголовков.
    4. Отметьте флажком «Сохранить формат ячеек»:
      Каждая ячейка сохранит своё форматирование в результирующем плоском списке, в т.ч. цвет заливки, границы, цвет шрифта, цвета условного форматирования, дата/общий/числовой/денежный/ формат, т.д.
    5. Укажите, куда поместить результат.
    6. Нажмите ОК > Готово.

    Внимание: обработка больших таблиц с множеством форматов займёт больше времени.

    Какие таблицы обрабатывает надстройка «Редизайн таблицы»

    Редизайн таблицы по сути означает, что данные исходной таблицы копируются и преобразуются так, чтобы сформировать плоский список. Ваши исходные таблицы не изменяются. Чтобы избежать искажения данных, вместо ссылок на ячейки, функций или формул в исходной таблице, в результирующий плоский список надстройка XLTools вставляет их значения.

    Термином «Таблица» в Excel часто обозначают разные понятия:

    • «Настоящая» таблица — именованный диапазон с применением стиля таблицы (операция «Форматировать как таблицу»). Может быть преобразована в простой диапазон.
    • Диапазон — простой диапазон внешне похожий на таблицу, с применением (или без) форматирования цвета фона, границ, т.д. Может быть преобразован в «настоящую» таблицу.
    • Сводная таблица (PivotTable) — динамическая таблица, сгенерированная с помощью операции Excel «Сводная таблица» (PivotTable). Ячейки не могут быть отредактированы.

    Надстройка XLTools «Редизайн таблицы» позволяет преобразовать в плоский список «настоящие» таблицы и диапазоны. Чтобы произвести редизайн PivotTable, сначала скопируйте диапазон такой таблицы и вставьте значения — это создаст простой диапазон, который далее можно преобразовать.

    Появились вопросы или предложения? Оставьте комментарий ниже.

    Источником данных для сводной таблицы служит список данных, где, как правило, каждый столбец выступает в роли поля сводной таблицы. Но что если к вам пришла, только с виду похожая на сводную, таблица (она отформатирована и внешне напоминает ее, но использовать инструменты работы со сводными таблицами невозможно). И вам необходимо превратить ее в список данных, т.е. выполнить обратную операцию. В этом посте вы узнаете, как преобразовать сводную таблицу с двумя переменными в список данных.

    На рисунке показан принцип, который я описал. Т.е. в диапазоне A2:E5 находится исходная сводная таблица, которая преобразуется в список данных (диапазон H2:J14). Вторая таблица представляет тот же набор данных, только в другом ракурсе. Каждое значение исходной сводной таблицы выглядит в виде строки, состоящее из пункта поля строки, поля столбца и соответствующего им значения. Такое отображение данных бывает полезно, когда необходимо отсортировать и манипулировать данными другими способами.

    Для того чтобы реализовать возможность создания такого списка, мы воспользуемся инструментами сводной таблицы. Добавим кнопку Мастер сводных таблиц в панель быстрого доступа, которая недоступна нам на ленте, но осталась как рудимент от более ранних версий Excel.

    Перейдите по вкладке Файл -> Параметры. В появившемся диалоговом окне Параметры Excel, во вкладке Панель быстрого доступа в левом поле найдите пункт Мастер сводных таблиц и диаграмм и добавьте его в правый. Нажмите ОК.

    Теперь на панели быстрого доступа у вас появился новый значок.

    Щелкните по этой вкладке, чтобы запустить Мастер сводных таблиц.

    На первом шаге мастера необходимо выбрать тип источника данных сводной таблицы. Устанавливаем переключатель В нескольких диапазонах консолидации и жмем Далее.

    На шаге 2а укажите, как следует создавать поля страницы. Поместите переключатель Создать поля страницы -> Далее.

    На шаге 2б, в поле Диапазон выберите диапазон, содержащий данные, и щелкните Добавить. В нашем случае это будет местоположение исходной сводной таблицы A1:E4.

    На третьем шаге необходимо определиться, куда необходимо поместить сводную таблицу, и нажмите кнопку Готово.

    Excel создаст сводную таблицу с данными. В левой части экрана вы увидите область Список полей сводной таблицы. Уберите все пункты с полей строк и столбцов. Более подробно о редактировании полей строк и столбцов в сводной таблице я писал в предыдущей статье.

    У вас получится небольшая сводная таблица, состоящая из одной ячейки, которая содержит сумму всех значений исходной таблицы.

    Дважды щелкните по этой ячейке. Excel создаст новый лист, который будет содержать таблицу со списком значений.

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

    Когда мы получаем данные из выгрузки или от коллег, часто возникает проблема со структурой таблицы. Встаёт вопрос: «Как привести данные к нужной структуре, чтоб построить удобный и простой отчёт?».

    Рассмотрим как должна выглядеть правильная структура таблицы. Правила будут следующими:

    • У каждого столбца должен быть заголовок.
    • В каждом столбце данные должны быть однородные, т.е. одного типа. Например, если столбец несет под собой значения даты, то в каждой строке в столбце «Дата» должен быть единый тип.

    Рассмотрим преобразования трёх самых популярных типов сводной таблицы.

    1. В заголовках имеем диапазон по дате или другим категориям


    Чтобы исправить такую таблицу необходимо:

    • через CTRL выделить все столбцы с диапазоном, в данном случае кварталы;
    • перейти во вкладку «Преобразование»;
    • найти кнопку «Отменить свертывания столбцов».

    Получаем таблицу, с которой можем дальше проводить анализ в Power BI:

    2. В одном столбце неоднородные данные

    Бывает, что столбец с названием показателя вынесен отдельно:


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

    По окончании проделанных шагов получаем таблицу на рисунке ниже:


    3. Сложная комбинация пунктов 1 и 2.

    При комбинации случаев 1 и 2 первым делом необходимо избавиться от пустых значений null. Для этого выберем первый столбец и нажмем «Заполнить значения вниз».


    Пустые значения первого столбца пропали, а на их месте теперь название филиала, которое было выше.
    Далее перевернем таблицу, для этого нажмем на кнопку «Транспонировать», после выбираем «Заполнить значения вниз», как указано на рисунке ниже:
    Следующим шагом избавимся от нескольких заголовков. Для этого необходимо объединить столбцы и нажать на кнопку «Объединить столбцы»:
    Столбцы склеиваются в один:

    Транспонируем таблицу обратно и используем первую строку в качестве заголовка:


    Далее действуем как в предыдущих примерах. Выделяем нужный диапазон и нажимаем «Отменить свертывание столбцов»:
    Разделим ранее склеенный столбец, чтобы отделить год.
    Выделим столбец, где указаны кол-во и сумма, далее нажмем столбец сведения:
    В результате получим простую таблицу, с которой удобно работать и которую легко анализировать:
    Наши курсы по Power BI:
    Курс Аналитик BI
    Курс DAX Mastering
    Курс Финансовый анализ в Power BI

    Наши каналы:
    Facebook
    Instagram
    Telegram
    VK


    2022-03-31 14:12

    Полезные статьи

    Добрый день. Сегодня я расскажу Вам, как создавать плоскую сводную таблицу в Excel. Пройдя этот урок, Вы научитесь создавать сводные таблицы, как на картинке ниже.

    Как создать плоскую сводную таблицу

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

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

    Как создать плоскую сводную таблицу

    1. Создаем сводную таблицу

    Подробно останавливаться на этом пункте не буду, так как у нас на сайте есть отличная статья на эту тему: «Как создать сводную таблицу в Excel». Если Вы еще не знаете как это сделать, рекомендую прочитать, иначе двигаемся дальше.

    Как создать плоскую сводную таблицу

    2. Изменяем макет сводной таблицы на табличный

    Для этого кликните на любую ячейку сводной таблицы, вверху справа должен появиться блок меню «Работа со сводными таблицами«. В нем выберите меню «Конструктор«, далее подменю «Макет отчета» и там «Показать в табличной форме«.

    Как создать плоскую сводную таблицу

    Как создать плоскую сводную таблицу

    Выполнив эти действия, мы получаем сводную таблицу уже не в древовидном виде, а в форме таблицы. Однако для полноценной работы, нам мешают итоговые строки и отсутствие данных в части ячеек. Сейчас мы это исправим.

    Как создать плоскую сводную таблицу

    3. Удаляем итоговые строки

    Для удаления итоговых строк кликните правой кнопкой мыши на любую итоговую ячейку, к примеру «Январь 2017 Итог». В появившемся контекстном меню выберите «Параметры поля» и там в блоке «Итоги» выберите «Нет«.

    Как создать плоскую сводную таблицу

    Как создать плоскую сводную таблицу

    Итак, итоги удалены. Осталось добавить в пустые строки дублирующие данные и плоская сводная таблица будет готова!

    4. Заполняем пропущенные данные

    Если Вы обратите внимание на сводную таблицу в самом начале урока, то заметите что дата проставлена не во всех ячейках, сейчас мы это исправим. Для этого снова вызовите контекстное меню, нажав правой кнопкой мыши на любую из дат и снова выберите «Параметры поля…«, там перейдите в раздел «Разметка и печать» и установите галочку напротив пункта «Повторять подписи элементов«.

    Как создать плоскую сводную таблицу

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

    Как создать плоскую сводную таблицу

    На этом текущий урок закончен, спасибо за внимание.

    MulTEx »

    9 Июль 2016              13714 просмотров

    Подготовить таблицу — строки

    Данная функция является частью надстройки MulTEx


    Вызов команды:
    MulTEx -группа СпециальныеРабота со своднымиПодготовить таблицу — строки


    Понять принцип работы и основные параметры настроек поможет видеоинструкция к команде:

    Команда способна преобразовать в удобный для анализа вид практически любую «многоуровневую» таблицу, сформированную в 1С. Пригодится тем, кто часто сталкивается с необходимостью анализа данных, выгруженных из 1С таблиц. Например, вот такой вот обычный отчет из 1С:
    Исходная таблица

    Построить из такого отчета сводную таблицу не то, чтобы нереально — но вручную не на один час нудной работы. И то все зависит от кол-ва строк и столбцов. При этом формулы здесь явно не помогут и остается два пути: руками или при наличии навыков писать свой код, который хоть часть данных приведет в порядок. Ну и конечно же, это можно сделать при помощи команды MulTEx Подготовить таблицу — строки.
    Самая главная проблема в отчете выше — это так называемая группировка строк при формировании отчета в 1С. На примере выгрузки выше к группировке строк относятся: Контрагент, Номенклатура и Регистратор(Документ). Сама сложность такой группировки заключается в том, что каждая строка группировки записывается в таблицу со своим отступом от левого края ячейки, создавая некую ступенчатую иерархию данных, из которой можно понять какие товары в какую группу и подгруппу входят. Например, на картинке выше к Контрагенту относятся Автокомпонент-ТЗК и Азов-ТЗК. Это верхний уровень группировки. Следующий уровень — Номенклатура: Р86023 Pehapol разбавитель и PLP02004 разбавитель. И последний, третий уровень — Регистратор(Документ), к нему относятся все светло-желтые строки — «Реализация товаров и услуг…».
    Вторая проблема — данные по каждому товару разбиты на месяцы и в каждом месяце три отдельных категории значений: Количество (в ед. хранения), Цена продажи и Цена закупки. И при этом месяцы расположены не в строках, а в столбцах. Что так же затрудняет работу с таблицей формулами, не говоря о сводных таблицах.

    Если отчет выше преобразовать в «плоский» вид, то получится такая таблица:
    Результат
    Как видно — из такой таблицы уже свободно можно делать сводную таблицу, экспорт данных в другие программы и т.п.

    Примечание: Заголовки в обеих таблицах выделены цветами специально, чтобы показать соответствие данных в обеих таблицах и как они распределяются после преобразования. В реальных отчетах такой расцветки нет.

    И именно подобные преобразования и способна сделать команда MulTEx Подготовить таблицу — строки. Достаточно настроить один раз команду для обработки отчета и далее лишь использовать эти настройки при необходимости, т.к. для каждого вида отчета можно хранить свои настройки.
    Чтобы более точно понять принцип работы всех настроек и команды в целом лучше применить некоторые определения для данных:

    • Свойства строки — данные, которые характеризуют строку (Наименование, Артикул, Код, Цвет, Номенклатура, Документ и т.п.)
    • Значения строки — как правило числовые значения(Количество, Цена, Сумма и т.п.), относящиеся к конкретному товару, документу и т.п. Т.е. непосредственно количественные данные нижнего уровня таблицы (строки с максимальным количеством отступов)

    Схематично применение терминов к таблице выше выглядит так:
    Схема

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

    Соответствия заголовков данным в строках — специальное поле, в котором указывается какому элементу группировки какое количество отступов соответствует. Может содержать неограниченное количество соответствий. В первом столбце поля указывается наименование столбца, которое будет записано в результирующую таблицу, во втором — количество отступов для данного наименования. Определять отступы самостоятельно нет необходимости. При изменении поля с числом отступов просто укажите на листе ячейку, отступы в которой надо определить и они будут записаны в это поле.
    В примере для большего понимания эти наименования соответствуют таковым в самой таблице, но на деле их можно взять либо из ячейки, либо записать вручную — главное здесь отступы. Строки с наибольшим количеством отступов(на картинке выше это Регистратор (Документ)) считаются как данные нижнего уровня и данные этих строк будут определены как Значения строки и будут записаны в результирующую таблицу. Остальные строки(с меньшим количеством отступов) будут записаны в каждую строку результирующей таблицы как Свойства строки(см.схему выше).
    Распределение отступов

    Важно: для более корректного преобразования данных лучше указывать соответствия отступов в порядке возрастания(от минимального к максимальному: 0, 1, 2 или 0, 3, 6 и т.д.).
    Примечание: отступы определяются исключительно в одном столбце — в том, в котором расположена Первая ячейка в строках данных

    Чтобы добавить соответствие необходимо:

    • либо дважды щелкнуть мышью по любой пустой строке поля
    • либо нажать сочетание клавиш Ctrl+Plus(кнопка + на клавиатуре)
    • либо нажать в поле правой кнопкой мыши и в появившемся меню выбрать Добавить

    Чтобы изменить существующее соответствие необходимо:

    • либо дважды щелкнуть мышью по строке поля с нужным соответствием(при этом в зависимости от того над каким пунктом был щелчок активируется либо Наименование, либо Кол-во отступов)
    • либо нажать сочетание клавиш Ctrl+Right(стрелка вправо на клавиатуре)
    • либо нажать в поле правой кнопкой мыши и в появившемся меню выбрать Изменить

    Чтобы удалить существующее соответствие необходимо:

    • либо нажать сочетание клавиш Ctrl+Delete
    • либо нажать в поле правой кнопкой мыши и в появившемся меню выбрать Удалить

    Если в таблице нет отступов, то в любом случае необходимо указать хотя бы один уровень и записать для него количество отступов, равное нулю. См.пример таких таблиц и настроек: пример 1>>, пример 2 >>

    Первая ячейка в строках данных(B11) — указывается одна ячейка в таблице, с которой начинаются реальные данные (не заголовки). В столбце указанной ячейки, начиная с этой ячейки программа будет определять отступы и в зависимости от количества отступов распределять остальные данные.

    Заголовки переменных данных

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

    Заголовки расположены в ячейках(C8:E8) — указывается диапазон ячеек одной строки заголовка. Если нет повторяющихся заголовков значений, то данные указанных столбцов будут определяться как Значения строки. Если есть повторяющиеся заголовки значений, то значения ячеек указанных столбцов буду определяться как Свойства строки.

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

      — Заголовки повторяются с шагом — указывается целое число больше нуля, определяющее с какой периодичностью повторяются данные. В рассматриваемой таблице данные расположены таким образом, что Количество (в ед.хранения), Цена продажи и Цена закупки повторяются для каждого месяца. Т.е. на один месяц три столбца данных. Значит шаг необходимо выставить равный 3.

      — Заголовки в ячейках(F8:AO8) — указывается диапазон ячеек (или одна ячейка), одной строки заголовка, данные из столбцов которых необходимо записать построчно для каждого значения строки. Если нет подзаголовков значений, то данные указанных столбцов будут определяться как Значения строки. Если есть подзаголовки значений, то значения ячеек указанных столбцов буду определяться как Свойства строки.

      — Подзаголовки в ячейках(F10:H10) — если указаны, то Значения строки будут взяты из столбцов, указанных в этом поле. Значения из столбцов поля Заголовки в ячейках будут определяться как Свойства строки и записываться в отдельный столбец(соответствующий названию столбца). Также, если подзаголовки указаны и шаг повторения больше 1, то из Заголовков в результирующую таблицу будет записываться одно значение на весь повторяющийся блок подзаголовков(в примере используется шаг — 3):
      Схема

      Определять последний столбец по заголовкам — если установлен, то для заголовков переменных данных достаточно будет указать только первую ячейку заголовка — остальные данные будут определены на основании строки заголовка. При этом если данные в различных заголовках и подзаголовках заканчиваются в различных столбцах — в качестве последнего столбца данных будет взят самый дальний столбец, т.е. наибольший из всех. Если данный пункт отключен, то данные из таблицы будут браться исключительно из указанных в полях столбцов.
      Например, если в таблице выше подзаголовки записаны в столбцах F10:AL10, то в поле Подзаголовки в ячейках достаточно будет указать ячейку F10 — последняя ячейка(AL10) будет определена автоматически. Если флажок снят — то будут обработаны только те столбцы точек, которые указаны в поле Подзаголовки в ячейках.
      Для чего это нужно: иногда в таблицах в конце присутствует блок итогов и не всегда эти итоги нужны в таблице для анализа. Если указать определение автоматически — то итоги так же попадут в результирующий лист и будут только мешать.

      Записывать каждый подзаголовок в новую строку — если установлен, то подзаголовки будут переносится не блоком в одну строку, а каждая ячейках подзаголовка будет записана в новую строку. При этом все свойства строки будут продублированы для значения подзаголовка. См.пример применения >>

      Переносить в новую таблицу только данные с непустыми ячейками — если установлен, то в результирующую таблицу будут перенесены только те строки ячеек полей, определенных как Значения строки, по которым в ячейке есть хоть какое-то значение.
      Для чего это нужно: на примере таблицы выше: в ячейках от F13 до H19 нет данных. Если флажок установлен — то в результирующем отчете будет как минимум на 7 ненужных строк меньше. В большинстве случаев этот флажок лучше ставить, но бывают ситуации, когда даже пустые строки и ячейки важны для анализа(например, определить, по каким позициям операции отсутствуют).

      Считать последнюю строку группы максимальным уровнем — применяется в случаях, когда структура исходной таблицы построена таким образом, что в каждой группе данных не всегда есть максимальный доступный уровень отступа:
      Считать последнюю строку группы максимальным уровнем
      На картинке видно, что для группы «Материалы и запчасти на Контр по ЛЗК» максимальный уровень отступов 16, для «Иные запчасти» — 14, а для «ОС до 40 тыс.руб» — 12. Если галочка Считать последнюю строку группы максимальным уровнем будет снята, то данные будут перенесены некорректно, т.к. даже если указать максимальный уровень 16, то данные с меньшим количеством отступов просто не попадут в итоговую таблицу в качестве Значения строки. Если же галочка Считать последнюю строку группы максимальным уровнем будет установлена — то даже если уровень будет меньше 16 программа определит, что это последний уровень в группе и перенесет именно эти строки в итоговый отчет как Значения строки.


      Шаблоны настроек
      Создание нового шаблона

      Создавать шаблоны настроек просто — достаточно заполнить левую часть формы для обработки какого-либо отчета, после чего перейти в правую часть, выбрать создать новый шаблон, вписать имя шаблона в соответствующее поле и нажать Сохранить текущие настройки в шаблон. Лучше сразу давать понятные имена шаблонам(выгрузка_1С_продажи, 1С8_остатки и т.п.). Имя шаблона не должно содержать пробелов, знаков препинания(кроме нижнего подчеркивания) и не должно начинаться с цифры. Если имя шаблона будет задано неверно — надстройка выдаст предупреждение и необходимо будет изменить имя в соответствии с требованиями.
      По сути на этом создание шаблона заканчивается. Он успешно запоминается надстройкой и теперь будет доступен всегда.

      Применение шаблона

      Для применения шаблона необходимо выбрать нужный шаблон в списке шаблонов (правая часть формы) и нажать Применить настройки выбранного шаблона. Поля настроек (левая часть формы) будут заполнены в соответствии с шаблоном. Так же заполнить поля из шаблона можно двойным кликом левой кнопкой мыши на названии шаблона.

      Изменение шаблона

      Для изменения шаблона необходимо выбрать нужный шаблон в списке шаблонов (правая часть формы), при необходимости заполнить поля настроек (двойной клик мыши или Применить настройки выбранного шаблона). После этого необходимо внести требуемые настройки в левой части формы. Выбрать изменить выбранный шаблон и нажать Сохранить текущие настройки в шаблон. Настройки выбранного шаблона будут изменены.

      Удаление шаблона

      Для удаления шаблона необходимо выбрать шаблон из списка и нажать кнопку Удалить выбранный. Следует помнить, что данная операция необратима и шаблон будет удален без возможности восстановления.

      Удаление всех шаблонов

      Для удаления всех шаблонов из списка необходимо нажать кнопку Удалить все шаблоны. Следует помнить, что данная операция необратима и все шаблоны будут удалены без возможности восстановления.

      Другие примеры таблиц и настроек

      Пример обработки оборотно-сальдовой ведомости:
      оборотно-сальдовой ведомость
      Для преобразования такой таблицы в плоскую необходимо будет применить такие настройки формы:
      Настройки
      В результате получим такую таблицу:
      Результат

      Пример отчета без повторяющихся заголовков:
      Отчет
      Настройки формы для преобразования такой таблицы в плоскую:
      Настройки

      В результате получим такую таблицу:
      Результат

      Пример настроек с использование пункта Записывать каждый подзаголовок в новую строку. Наиболее актуально это для таблиц примерно следующего вида:
      Таблица

      Для преобразования в удобную таблицу необходимо применить следующие настройки:
      Каждый заголовок в новую строку

      результатом будет такая таблица:
      Результат

      Попробовав преобразовать пару различных таблиц можно достаточно быстро понять принцип.

      Так же см.:
      Подготовить таблицу — столбцы
      Формат ячеек как в источнике

    Понравилась статья? Поделить с друзьями:
  • Преобразование имени в инициалы в excel
  • Преобразование таблицы в текст в документе ms word необходимо выполнить команду
  • Преобразование изображения в формат word
  • Преобразование таблицы word в таблицу excel
  • Преобразование изображения в текст word