将逗号分隔的单元格拆分为多行,保持原始行不变?

Split comma delimited cell into multiple rows, keeping Original Rows as it is?

我已经尝试 Excel Power Query 选项将逗号分隔值拆分为行。它运作良好。 但是我想保持原始行不变

因为 Power Query 删除原始行并生成新行。我想保留原始行并在其下方生成新行。通过逗号分隔符。 我们如何做到这一点?

期望值:

I have Data Rows like
1 - name - A,B
2 - name - A,B

It should Convert Like This.
1 - name - A,B
1 - name - A
1 - name - B
2 - name - A,B
2 - name - A
2 - name - B

使用 2 个导入。

Power Query 传递给 Excel 的是模型,它可以包含多个 table 或进程。

导入要拆分的数据。执行你的Split by Delimiter into Rows。这将为您提供一个 table,其中包含您的分隔值 - Table After Split.

再次将您的数据导入为 Table Original

Table After Split 附加到 Table After Split 以生成 Table Combined

删除 Table OriginalTable After Split,因为它们不再需要并且正在浪费内存。

现在您模型中剩下的就是合并后的 table。

好的,得到了​​简单的解决方案。

  1. 只需用逗号分隔符拆分所有行 'using power query'。我们得到“After Split Rows
  2. 然后将所有原始行粘贴到“After Split Rows”上方“
  3. 将过滤器添加到 numbers/id 行并使用“Sort smallest to largest” 并完成。

我们得到了原始行和拆分行下方的预期结果,如上面的问题所示。

只需添加一个自定义列,其中包含一个列表,该列表由第 3 列加上带有逗号分隔符的第 3 列的拆分组成。 然后将该列扩展为行

  • 自定义列:
    {[Column3]} & Text.Split([Column3],",")

原始数据

M码

let

//change Table name in next line to whatever your real source is named
    Source = Excel.CurrentWorkbook(){[Name="Table12"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{
                            {"Column1", Int64.Type}, {"Column2", type text}, {"Column3", type text}}),

//create the list for the column    
    #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each {[Column3]} & Text.Split([Column3],",")),
    
//remove old column 3 and expand the list
    #"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Column3"}),
    #"Expanded Custom" = Table.ExpandListColumn(#"Removed Columns", "Custom")
in
    #"Expanded Custom"

结果