Страницы: 1
RSS
Транспонировать на новый лист в линейное представление
 
Добрый вечер, требуется транспонировать значения с одного листа на новый в линейное представление

Пример приложил

Структура исходных данных  жестко определена: всегда есть "профессия", под ней идет "разряд", далее "характеристика работ", далее "должен знать"

Есть так сказать переносы строк, когда содержимое "характеристики" или "должен знать" делиться на несколько строк.  нужно все положить в одну ячейку соответственно
мое предположение ориентироваться на заголовки
Изменено: diman116 - 07.05.2020 01:07:49
 
diman116, а почему не показали как  должно быть для последних "§ 38. Изолировщик на термоизоляции"?
Изменено: Mershik - 07.05.2020 08:43:32
Не бойтесь совершенства. Вам его не достичь.
 
Цитата
Mershik написал:
а почему не показали
Добрый, для остальных все одно типно. Структура для всех одинаковая. Грубо говоря это справочник ЕТКС - требуется загрузить пару сборников
 
Всем доброе, а может есть все таки решение для моего случая?.  
 
Вариант с доп. столбцом
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
в Power Query
Код
// Таблица1
let
    Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    Add = Table.AddColumn(Source, "a", each if Text.StartsWith([Столбец1], "§") then 1 else if 
    Text.EndsWith([Столбец1], "разряд") then 2 else if Text.StartsWith([Столбец1], "Характеристика работ")
    then 3 else if Text.StartsWith([Столбец1], "Должен знать") then 4 else null),
    Down = Table.FillDown(Add,{"a"}),
    Group = Table.Group(Down, {"Столбец1"}, {{"a", each #table(4,{Table.Group(_, {"a"}, {"b", each 
    Text.Combine([Столбец1],"#(lf)")})[b]})}}, 0, (a,b)=> Number.From( Text.StartsWith(b[Столбец1], "§")))[[a]],
    Expanded = Table.ExpandTableColumn(Group, "a", {"Column1", "Column2", "Column3", "Column4"})
in
    Expanded
Страницы: 1
Наверх