|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
pq拆分多级次编码和名称:
let
源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
插入的文本长度 = Table.AddColumn(源, "长度", each Text.Length([级次编码]), Int64.Type),
已插入文本范围1 = Table.AddColumn(插入的文本长度, "1级编码", each if [长度]>=3 then Text.Middle([级次编码], 0, 3) else ""),
已插入文本范围 = Table.AddColumn(已插入文本范围1, "2级编码", each if [长度]>=6 then Text.Middle([级次编码], 0, 6) else ""),
已插入文本范围2 = Table.AddColumn(已插入文本范围, "3级编码", each if [长度]>=9 then Text.Middle([级次编码], 0, 9) else ""),
删除的列 = Table.RemoveColumns(已插入文本范围2,{"长度"}),
重排序的列1 = Table.ReorderColumns(删除的列,{"级次编码", "1级编码", "2级编码", "3级编码", "名称"}),
插入的文本长度1 = Table.AddColumn(重排序的列1, "长度", each Text.Length([名称]), Int64.Type),
已插入文本范围3 = Table.AddColumn(插入的文本长度1, "1级名称", each Text.Middle([名称], 0, 2), type text),
已插入文本范围4 = Table.AddColumn(已插入文本范围3, "2级名称", each if [长度]>=4 then Text.Middle([名称], 0, 4) else ""),
已插入文本范围5 = Table.AddColumn(已插入文本范围4, "3级名称", each if [长度]=6 then Text.Middle([名称], 0, 6) else ""),
删除的列1 = Table.RemoveColumns(已插入文本范围5,{"长度", "名称", "级次编码"}),
重排序的列 = Table.ReorderColumns(删除的列1,{"1级编码", "1级名称", "2级编码", "2级名称", "3级编码", "3级名称"})
in
重排序的列 |
|