使用Power Query解决,拆分行是Power Query的特色功能。
视频操作,请见:https://www.bilibili.com/video/BV1Wy421i7Ao/
- let
- 源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
- 更改的类型 = Table.TransformColumnTypes(源,{{"货柜号", type text}, {"SKU", type text}, {"数量", Int64.Type}, {"PO号", type text}}),
- 按分隔符拆分列 = Table.ExpandListColumn(Table.TransformColumns(更改的类型, {{"PO号", Splitter.SplitTextByDelimiter("/", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "PO号"),
- 更改的类型1 = Table.TransformColumnTypes(按分隔符拆分列,{{"PO号", type text}}),
- 筛选的行 = Table.SelectRows(更改的类型1, each ([PO号] <> "")),
- 已插入分隔符之后的文本 = Table.AddColumn(筛选的行, "分隔符之后的文本", each Text.AfterDelimiter([PO号], " "), type text),
- 已添加条件列 = Table.AddColumn(已插入分隔符之后的文本, "自定义", each if [分隔符之后的文本] = "" then [数量] else if [分隔符之后的文本] <> "" then [分隔符之后的文本] else null),
- 重排序的列 = Table.ReorderColumns(已添加条件列,{"货柜号", "SKU", "数量", "自定义", "PO号", "分隔符之后的文本"}),
- 删除的列 = Table.RemoveColumns(重排序的列,{"数量", "分隔符之后的文本"}),
- 重命名的列 = Table.RenameColumns(删除的列,{{"自定义", "数量"}}),
- 更改的类型2 = Table.TransformColumnTypes(重命名的列,{{"数量", type number}})
- in
- 更改的类型2
复制代码
|