Страницы: 1
RSS
Сводная таблица из столбцов с одинаковыми названиями (табель учета времени)
 
Добрый день.
Пытаюсь консолидировать информацию из табеля учета рабочего времени. На выходе необходимо получить информацию по каждому работнику в виде - перечень объектов за месяц и сколько часов потратил на каждом объекте.
Сводной таблицей решить не получается.
Заранее спасибо.
С уважением, Дмитрий.
 
Объединят сначала, а потом мучайся :)
Выделяем диапазон A4:K17, Используем скрипт VBA - строки 2, колонка 1. После либо в PQ либо доделываем макрос и заполняем пустоты вниз
Скрытый текст

PQ

Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    #"Измененный тип" = Table.TransformColumnTypes(Источник,{{"Столбец1", type text}, {"Столбец2", Int64.Type}, {"Столбец3", type text}, {"Столбец4", Int64.Type}}),
    #"Заполнение вниз" = Table.FillDown(#"Измененный тип",{"Столбец1", "Столбец2"})
in
    #"Заполнение вниз"
Изменено: Илья Демид - 16.02.2018 17:18:09
 
Porter, для того, чтобы строить сводную, данные нужно подготовить. Если разово, то я использую редизайнер (как в этом случае), если часто, то Power Query. Играйтесь с полями сводной, т.к. не совсем понятно, что именно вы хотели…
Изменено: Jack Famous - 16.02.2018 17:16:24
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Или чисто на PQ, код длинноват (Мышкоклацание + голова уже не варит), может потом как то укорочу
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Таблица3"]}[Content],
    #"Измененный тип" = Table.TransformColumnTypes(Источник,{{"Столбец1", type text}, {"Столбец2", type any}, {"Столбец3", type any}, {"Столбец4", type any}, {"Столбец5", type any}, {"Столбец6", type any}, {"Столбец7", type any}, {"Столбец8", type any}, {"Столбец9", type any}, {"Столбец10", type any}, {"Столбец11", type any}}),
    #"Заполнение вниз" = Table.FillDown(#"Измененный тип",{"Столбец1"}),
    #"Транспонированная таблица" = Table.Transpose(#"Заполнение вниз"),
    #"Заполнение вниз1" = Table.FillDown(#"Транспонированная таблица",{"Column1"}),
    #"Повышенные заголовки" = Table.PromoteHeaders(#"Заполнение вниз1", [PromoteAllScalars=true]),
    #"Измененный тип1" = Table.TransformColumnTypes(#"Повышенные заголовки",{{"Дата", Int64.Type}, {"ФИО", type text}, {"Иванов ", Int64.Type}, {"Иванов _1", Int64.Type}, {"Иванов _2", Int64.Type}, {"Петров", Int64.Type}, {"Петров_3", Int64.Type}, {"Петров_4", Int64.Type}, {"Сидоров", Int64.Type}, {"Сидоров_5", Int64.Type}, {"Сидоров_6", Int64.Type}, {"Степанов", Int64.Type}, {"Степанов_7", Int64.Type}, {"Степанов_8", Int64.Type}}),
    #"Другие столбцы с отмененным свертыванием" = Table.UnpivotOtherColumns(#"Измененный тип1", {"Дата"}, "Атрибут", "Значение"),
    #"Добавлен пользовательский объект" = Table.AddColumn(#"Другие столбцы с отмененным свертыванием", "Пользовательская", each if [Значение] = "объект" then "объект" else if [Значение]= "время" then "время" else null ),
    #"Условный столбец добавлен" = Table.AddColumn(#"Добавлен пользовательский объект", "ФИО", each if Text.Contains([Атрибут], "_") then null else [Атрибут] ),
    #"Заполнение вниз2" = Table.FillDown(#"Условный столбец добавлен",{"Пользовательская", "ФИО"}),
    #"Строки с примененным фильтром" = Table.SelectRows(#"Заполнение вниз2", each ([ФИО] <> "ФИО")),
    #"Удаленные столбцы" = Table.RemoveColumns(#"Строки с примененным фильтром",{"Атрибут"}),
    #"Сведенный столбец" = Table.Pivot(#"Удаленные столбцы", List.Distinct(#"Удаленные столбцы"[Пользовательская]), "Пользовательская", "Значение", List.Sum)
in
    #"Сведенный столбец"
Изменено: Илья Демид - 16.02.2018 17:54:35
Страницы: 1
Наверх