ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1962|回复: 7

power query 按分隔符拆分多行

[复制链接]

TA的精华主题

TA的得分主题

发表于 2021-2-2 20:00 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

原始数据是有2列:1列是条码用逗号分隔(最后有一个逗号),另外一列是商品id加数量(用冒号连一起) 用逗号分隔(最后有一个逗号);

需求是 条码一列,商品id一列(和条码顺序一一对应),数量1列,在power query中如何实现,文件在附件中,感谢

image.png

按分隔符拆分多行.zip

6.45 KB, 下载次数: 53

TA的精华主题

TA的得分主题

发表于 2021-2-2 20:46 | 显示全部楼层
let
    源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
    拆分成表 = Table.TransformColumns(
                     源,
                     {{"商品barcode列表",each Text.Split(_,",")},{"商品id",each Text.Split(_,",")}}
               ),
    转表 =  Table.FromColumns(
                 {  List.Combine(拆分成表[商品barcode列表]),
                     List.Combine(拆分成表[商品id])
                },
                Table.ColumnNames(源)
            ),
    结果表 = Table.SplitColumn(
                    转表,
                    "商品id",
                    Splitter.SplitTextByEachDelimiter({":"}, QuoteStyle.Csv, true),
                     {"商品id", "数量"}
            ),
    更改的类型 = Table.TransformColumnTypes(结果表,{{"商品id", Int64.Type}, {"数量", Int64.Type}})
in
    更改的类型

评分

3

查看全部评分

TA的精华主题

TA的得分主题

发表于 2021-2-2 22:56 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2021-2-3 08:19 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2021-2-3 13:33 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
PowerQuery参考解法
微信截图_20210203133320.png

按分隔符拆分多行.zip

15.32 KB, 下载次数: 97

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-2-3 13:58 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2021-2-8 10:24 | 显示全部楼层
纯属练习
  1. let
  2.     源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
  3.     自定义1 = List.Transform(源[商品barcode列表], each Text.Split(Text.Trim(_,","),",")){0},
  4.     自定义2 = List.Transform(源[商品id], each List.Transform(Text.Split(Text.Trim(_,","),","), each Text.Split(_,":")) ){0},
  5.     自定义3 = List.Transform({0,1,2}, each {自定义1{_}}&自定义2{_}),
  6.     自定义4 = Table.FromRows(自定义3,{"商品barcode列表r","商品id","数量"})
  7. in
  8.     自定义4
复制代码


image.png

TA的精华主题

TA的得分主题

发表于 2021-2-24 16:50 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
2楼的解法更加平易近人,值得初学者学习!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-15 19:53 , Processed in 0.045841 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表