Excel 拆分包含不同类型数据的列

Excel 拆分包含不同类型数据的列

给大家一个Excel拆分列问题。

假设我需要拆分 A 列中的所有单元格。

每个单元格包含多位空间数据,但并不总是包含相同的值范围。示例:

A1: FS13, 10-20CM
A2: 1000N, 20-30CM
A3: 1017N, LVL2, FS18, 20-30CM

我需要为 FS、N、LVL 和 CM 添加新列。但您会注意到,并非每个单元格都包含所有空间数据,并且某些单元格的信息相对于列中的其他单元格而言顺序混乱。有没有办法拆分数据并将其排序为新列的正确顺序?

如果您有公式,请同时说明如何使用该公式。我应该在哪个单元格中使用公式?我需要替换公式中的哪些值才能反映我的特定情况?请解释该过程。

Excel 办公室 365

答案1

如果我理解你的要求,你可以使用Power QueryakaGet&Transform

  • 从表/范围获取数据
  • 添加索引列
  • 修剪文本以使其更简洁
  • 按分隔符(逗号)将列拆分为
  • 添加自定义列以分离文本和数字数据
    • 文本数据: =Text.Select([Column1],{"A".."Z"})
    • 數字數據:Text.Select([Column1],{"0".."9","-"})
  • 删除原件Column 1
  • 在标题列上进行透视,值 = 值列并选择不要聚合在下面advanced
  • 删除索引列

在此处输入图片描述

M 代码

let
    Source = Excel.CurrentWorkbook(){[Name="Table3"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}}),
    #"Added Index" = Table.AddIndexColumn(#"Changed Type", "Index", 0, 1),
    #"Trimmed Text" = Table.TransformColumns(#"Added Index",{{"Column1", Text.Trim, type text}}),
    #"Split Column by Delimiter" = Table.ExpandListColumn(Table.TransformColumns(#"Trimmed Text", {{"Column1", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Column1"),
    #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Column1", type text}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type1", "Header", each Text.Select([Column1],{"A".."Z"})),
    #"Added Custom1" = Table.AddColumn(#"Added Custom", "Values", each Text.Select([Column1],{"0".."9","-"})),
    #"Removed Columns" = Table.RemoveColumns(#"Added Custom1",{"Column1"}),
    #"Pivoted Column" = Table.Pivot(#"Removed Columns", List.Distinct(#"Removed Columns"[Header]), "Header", "Values"),
    #"Removed Columns1" = Table.RemoveColumns(#"Pivoted Column",{"Index"})
in
    #"Removed Columns1"
    -

为了更好地了解发生了什么,请阅读有关 Power Query 的 MS 文档,当您进入 PQ 编辑器时,将上面的 M 代码粘贴到高级编辑器中,然后单独检查每个步骤。

在 M 代码中,您需要将其替换为Table3您选择时生成的实际表名Get & Transformtable/range

相关内容