Замена новой строки на новые строки в таблице Excel

#excel

#excel #powerquery

Вопрос:

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

Рис. 1.

Например, на рис. 1. Столбцы D и E были представлены с использованием новых строк. т. е. A = Очень хорошо, нуждается в улучшении. Я пытаюсь получить это в другой форме, как показано. Любые указания в этом отношении были бы полезны.

Рис. 2

Ответ №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.