我在 Excel for Microsoft 365 中使用 Power Query。
我的一些列具有多值单元格。我需要将这些单元格分成行。考虑这个源数据:
我的Power Query的M语言代码如下;
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Pet Type", type text}, {"Items Needed", type text}, {"Item Purpose", type text}, {"Typical Name", type text}}),
#"Split Items Needed" = Table.ExpandListColumn(Table.TransformColumns(#"Changed Type", {{"Items Needed", Splitter.SplitTextByDelimiter("#(lf)", QuoteStyle.None), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Items Needed"),
#"Split Item Purpose" = Table.ExpandListColumn(Table.TransformColumns(#"Split Items Needed", {{"Item Purpose", Splitter.SplitTextByDelimiter("#(lf)", QuoteStyle.None), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Item Purpose")
in
#"Split Item Purpose"
这导致了实际结果:
这是期望的结果:
我必须如何调整 Power Query 才能获得所需的结果?
下面的M语言代码可以解决这个问题:
来源:
https ://stackoverflow.com/questions/62798233/splitting-multiple-multi-valued-cells-in-excel-into-rows
感谢并感谢@horseyride 在上面的链接中提供的答案。
编辑以添加第二个解决方案
以下解决方案也归功于上面链接的问题,非常优雅,因为它可以跨任意数量的列工作: