ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 麻烦大神将上边格式不一的数据转换成下边的格式,感谢!

[复制链接]

TA的精华主题

TA的得分主题

发表于 2020-11-27 09:57 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 714719084 于 2020-11-27 10:03 编辑

untitled1.png untitled3.png 麻烦大神将上边格式不一的数据转换成下边的格式,感谢!

求助表格.rar

9.43 KB, 下载次数: 16

求助表格

TA的精华主题

TA的得分主题

发表于 2020-11-27 11:25 | 显示全部楼层
这样可否?

求助表格.rar

16.9 KB, 下载次数: 7

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-11-27 11:32 | 显示全部楼层
本帖最后由 714719084 于 2020-11-27 11:33 编辑

大神,第一个款号没有撞料哦~第二跟第三个款号的面料成分空了,维护方法也空,有办法都填写上去嘛?

TA的精华主题

TA的得分主题

发表于 2020-11-27 15:17 | 显示全部楼层
714719084 发表于 2020-11-27 11:32
大神,第一个款号没有撞料哦~第二跟第三个款号的面料成分空了,维护方法也空,有办法都填写上去嘛?

在原稿的基础上,略微改了一点。

求助表格.rar

17.05 KB, 下载次数: 3

评分

2

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-11-27 16:06 | 显示全部楼层
本帖最后由 714719084 于 2020-11-27 16:18 编辑
tony@cq 发表于 2020-11-27 15:17
在原稿的基础上,略微改了一点。

大神,维护方法下面的两列内容是怎么放到上面一列去的?

TA的精华主题

TA的得分主题

发表于 2020-11-27 17:11 | 显示全部楼层
714719084 发表于 2020-11-27 16:06
大神,维护方法下面的两列内容是怎么放到上面一列去的?

手工在原稿上改的,如果固定也行。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-11-27 17:19 | 显示全部楼层
tony@cq 发表于 2020-11-27 17:11
手工在原稿上改的,如果固定也行。

如果数据源有上万个,手动改就头大了~··我只在一大批数据里摘取了几个出来做案例,还有很多个这样的数据需要转化

TA的精华主题

TA的得分主题

发表于 2020-11-27 17:22 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
714719084 发表于 2020-11-27 17:19
如果数据源有上万个,手动改就头大了~··我只在一大批数据里摘取了几个出来做案例,还有很多个这样的数 ...

那就单独选出来处理后再加上

TA的精华主题

TA的得分主题

发表于 2020-11-29 14:31 | 显示全部楼层
本帖最后由 ziying35 于 2020-11-29 15:54 编辑

这个问题, 你之前不是问过一次了吗?我已经上传了附件, 还没有通过审核

TA的精华主题

TA的得分主题

发表于 2020-11-29 14:34 | 显示全部楼层
  1. // output
  2. let
  3.     Source = Excel.CurrentWorkbook(){[Name="表2"]}[Content],
  4.     rows = List.Buffer(Table.ToList(Source)&{"款号"}),
  5.     n = List.Count(rows),
  6.     gen = List.Generate(
  7.               ()=>
  8.               {null, {}, null},
  9.               each (_{0}<n)?? true,
  10.               each  let i=_{0}+1??0
  11.                     in {
  12.                           i,
  13.                           if Text.StartsWith(rows{i}, "款号") then { Text.Trim(rows{i}, {" ",""""})} else _{1}&{Text.Trim(rows{i}, {" ",""""})},
  14.                           if _{1}={} then null
  15.                                      else if Text.StartsWith(rows{i}, "款号")
  16.                                           then let row_inn=List.RemoveItems(_{1}, {"", "合格证"}),
  17.                                                    trans=fnTrans(row_inn),
  18.                                                    tbl=let lists=List.Zip(trans) in Table.FromRows({lists{1}}, lists{0})
  19.                                                in tbl else null
  20.                        },
  21.                     
  22.               each _{2}
  23.           ),
  24.     tbl = Table.Combine(List.RemoveNulls(gen)),
  25.     result = Table.ReorderColumns(tbl, List.Sort(Table.ColumnNames(tbl), each List.PositionOf(ord_list, _, 0, (x,y)=>Text.Contains(y,x))))
  26. in
  27.     result

  28. // fnTrans
  29. (row_inn)=>
  30. List.Accumulate(
  31.     row_inn,
  32.     {{}, {}},
  33.     (s,c)=>if s{0}={} then {c, {}}
  34.            else if Text.Contains(c, ":") then {c, s{1}&{  Text.Split(s{0}, ":")}}
  35.                 else {s{0}&c, s{1}}){1}&{{"零售价", null}}

  36. // ord_list
  37. let
  38.     Source = {"款号", "执行", "品类", "技术", "品名", "号型", "质量", "检验员", "产地", "成分", "维护", "注", "零售价"}
  39. in
  40.     Source
复制代码



ziying35.rar

27.15 KB, 下载次数: 6

评分

2

查看全部评分

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

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

GMT+8, 2024-4-25 14:07 , Processed in 0.042360 second(s), 18 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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