#excel
#excel #powerquery
Вопрос:
Я работаю с листом Excel, где строки внутри определенного столбца записываются с использованием новых строк.
Например, на рис. 1. Столбцы D и E были представлены с использованием новых строк. т. е. A = Очень хорошо, нуждается в улучшении. Я пытаюсь получить это в другой форме, как показано. Любые указания в этом отношении были бы полезны.
Ответ №1:
Попробуйте использовать «Get amp; Transform», он же Powerquery.
Шаги:
-
Выберите свои данные и загрузите их (с заголовками) в PQ.
-
Добавьте новый пользовательский столбец (например, с именем «Пользовательский») и используйте следующую формулу пользовательского столбца:
Table.FromColumns({Text.Split([Grades],"#(lf)"), Text.Split([Comment],"#(lf)")})
-
Во вновь созданном столбце нажмите кнопку развернуть (вверху справа) и разверните оба столбца.
-
Удалите столбцы «Оценки», «Комментарии».
-
Кроме того, вы можете переименовать последние два столбца обратно в «Оценки» и «Комментарий».
Чтобы упростить задачу, вы также можете просто применить следующий M-код:
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Added Custom" = Table.AddColumn(Source, "Custom", each Table.FromColumns({Text.Split([Grades],"#(lf)"), Text.Split([Comment],"#(lf)")})),
#"Expanded {0}" = Table.ExpandTableColumn(#"Added Custom", "Custom", {"Column1", "Column2"}, {"Custom.Column1", "Custom.Column2"}),
#"Removed Columns" = Table.RemoveColumns(#"Expanded {0}",{"Grades", "Comment"}),
#"Renamed Columns" = Table.RenameColumns(#"Removed Columns",{{"Custom.Column1", "Grades"}, {"Custom.Column2", "Comment"}})
in
#"Renamed Columns"
Ваш конечный результат должен выглядеть так:
Ответ №2:
Попробуйте esProc, разделите и разверните многострочные слова в ячейке Excel на несколько строк, как показано в следующем коде.
A
1 =file("data.xlsx").xlsimport@t()
2 =A1.run(Grades=Grades.split("n"),Comment=Comment.split("n"))
3 =A2.news(Grades.len();Names,Class,Year,Grades(#):Grades,Comment(#):Comment)
4 =file("result.xlsx").xlsexport@t(A3)
Для получения дополнительных пояснений см. http://c.raqsoft.com/article/1609902051322
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: речь идет о нашем инструменте esProc. Это freemium.