ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

请教大家把分列后的项目自动复制到对应列的问题。。

[复制链接]

TA的精华主题

TA的得分主题

发表于 2022-6-3 07:12 | 显示全部楼层 |阅读模式



1、原始数据是从软件中导出的数据,把所有的核算项目(部门,地区,成本,资金来源)放在一起了,用竖线分隔开;无法直接用数据透视表
2、我首先用分列功能按竖线把所有的核算项目分成单独列
3、现在只能手动筛选列,手动COPY到对应的核算项目中去。
4、请问怎么写公式或者VB自动按核算项目COPY到对应列下面
5、原始数据分列后,核算项目的顺序不一样,而且不是每个核算项目都同时出现,所以会出现同一个核算项目在不同列的情况,只能手动逐列筛选一一复制,效率很低,也容易出错。
6、各位江湖大佬救急。

之前在大佬帮助下用函数解决了。。
现在用PQ有更好的解决方法吗?

分列后自动复制到对应列.rar

8.27 KB, 下载次数: 19

TA的精华主题

TA的得分主题

发表于 2022-6-3 09:26 | 显示全部楼层
连带重复的字段名都顺便去掉了

  1. let
  2.     Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("VY1BDoIwFESvYljbE5HepDuNaCURVrjAhcZqJV24gKg14mX6P+0trFBMXM5k5r04jtxMukKS7rmxmfCBQXmFVBNIC6NVRKe/ia0PwPffCS4zLBUxWkO+HQKzzdwlOe4E6ozYpMJyNVQj0Nw5NrceGP72dbLtIvxH7fGCtZiw4ITHG3LuQ//7c3hep8+4lqjaiNIP", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Content = _t]),

  3.     Custom1 = Table.Combine(List.Transform(Source[Content], each let l = List.Zip(List.Transform(Text.Split(_, "|"), Splitter.SplitTextByEachDelimiter({"-"},QuoteStyle.Csv,false))) in Table.FromRows({l{1}}, l{0})))
  4. in
  5.     Custom1
复制代码
image.png

TA的精华主题

TA的得分主题

发表于 2022-6-3 09:26 | 显示全部楼层
分列后自动复制到对应列.rar (16.03 KB, 下载次数: 12)

TA的精华主题

TA的得分主题

发表于 2022-6-3 13:06 | 显示全部楼层
我也参与一下,来款基本操作版的

2022-06-03_125053.png

分列后自动复制到对应列(基本操作).rar (12.77 KB, 下载次数: 8)

TA的精华主题

TA的得分主题

发表于 2022-6-3 20:32 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
  1. =Table.Combine(Table.ToList(源,each let a=Text.SplitAny(_{0},"|-"),b=List.Alternate(a,1,1,1),c=List.Alternate(a,1,1,0) in Table.FromRows({c},b)))
复制代码


TA的精华主题

TA的得分主题

 楼主| 发表于 2022-6-4 09:22 | 显示全部楼层
楼上各位大佬的代码看不懂哈。。。henry6老兄的步骤到是看懂了。。
都是高人。。非常感谢。。。

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-6-6 19:51 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 siegy 于 2022-6-6 19:54 编辑
henry6 发表于 2022-6-3 13:06
我也参与一下,来款基本操作版的

老兄现在有了新问题。。
范例里每行都是有内容的,可以正常透视转二维表
但现在数据表里有空行,已经到这一步了。。
image.png

透视的时候显示
Expression.Error: 无法将值 null 转换为类型 Text。
详细信息:
    Value=
    Type=[Type]

这种情况怎么办啊

TA的精华主题

TA的得分主题

发表于 2022-6-6 20:01 | 显示全部楼层
siegy 发表于 2022-6-6 19:51
老兄现在有了新问题。。
范例里每行都是有内容的,可以正常透视转二维表
但现在数据表里有空行,已经到 ...

先删除空行啊

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-6-6 20:27 | 显示全部楼层

是的是的。刚才试着删除了空行。。可以透视了。。。
但索引1、2就没有了。。
然后把原来的表加上索引。。先是追加。。。发现连上去都是空值。。
换合并。。发现1、2又没有。。。原来是文本格式。。不知道为什么到下面去了。。
换成数字格式。。再升序排列。。。
总算搞定了。。


我觉得应该是追加啊。。
为啥是合并呢。。

TA的精华主题

TA的得分主题

发表于 2022-6-6 20:27 | 显示全部楼层
删除空行两种方法

1、excel里,定位空值可以批量删除空行

2、在PQ查询界面,添加  删除空行的操作步骤,

GIF 2022-6-6 20-18-09.gif
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-16 09:44 , Processed in 0.045418 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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