【问题标题】:Splitting multiple multi-valued cells in excel into rows将excel中的多个多值单元格拆分为行
【发布时间】:2020-07-08 15:24:10
【问题描述】:

我希望将多个多值单元格的行拆分为单独的行,以便每一行都有来自每个多值单元格的一个值。

例如,如果我有以下行:

> Column1   Column2  Column3 
> 1         A:B:C    A1:B1:C1          
> 2         D:E:F    D1:E1:F1

我希望得到如下结果:

Column1   Column2  Column3
1         A        A1
1         B        B1
1         C        C1
2         D        D1
2         E        E1
2         F        F1

Power Query 或 VBA 中是否有办法以特定格式拆分数据

【问题讨论】:

    标签: excel vba split powerquery multivalue


    【解决方案1】:

    假设您从 Table1 范围内包含三列且没有列标题的源数据开始,此代码将在 powerquery 中工作(粘贴到主页...高级编辑器...)

    它使用 split 函数创建两个自定义列以将 : 拆分为一个列表

    然后将两个列表组合成一个表格,在我们展开之前

    let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Added Custom" = Table.AddColumn(Source, "Custom", each Text.Split([Column2],":")),
    #"Added Custom1" = Table.AddColumn(#"Added Custom", "Custom.1", each Text.Split([Column3],":")),
    #"Added Custom2" = Table.AddColumn(#"Added Custom1", "Custom.2", each Table.FromColumns({[Custom],[Custom.1]})),
    #"Expanded Custom.2" = Table.ExpandTableColumn(#"Added Custom2", "Custom.2", {"Column1", "Column2"}, {"Column1.1", "Column2.1"}),
    #"Removed Columns" = Table.RemoveColumns(#"Expanded Custom.2",{"Column2", "Column3", "Custom", "Custom.1"})
    in #"Removed Columns"
    

    或者,下面可以同时处理任意数量的列

    let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes (Source,List.Transform(Table.ColumnNames(Source), each {_, type text})),
    TableTransform = Table.Combine(List.Transform(List.Transform(Table.ToRecords(#"Changed Type"), (x) => List.Transform(Record.ToList(x), each Text.Split(_,":"))), each Table.FromColumns(_, Table.ColumnNames(#"Changed Type")))),
    #"Filled Down" = Table.FillDown(TableTransform,{"Column1"})
    in #"Filled Down"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多