微信公众号:yhjbox(永恒君的百宝箱),获取最新文章、资源。

Excel如何将数据逐一拆分成单行?

Excel VBA 实例 永恒君 1633℃ 0评论
1

写在前面:

永恒君之前分享的VBA实例仅仅只是一个入门用的参照工具,可能不一定完全适合具体的实际情况。有基础的朋友可以参照其中的功能实现的代码进行自定义的修改,新手也可以直观的体会一下VBA的好处。

一般而言,简单的说明来意或者把具体需求描述一下,永恒君都会非常的乐意帮忙。或者是直接交个朋友,大家一起交流也可以。

但是不希望是这样的:
1、一直问“在不在”,就是不说明来意。
2、直接扔一堆文件、图片、代码给我,问怎么没用,哪里有错误。

这样的问题只会阻碍相互之间的理解,增加沟通的时间成本,希望理解!

2

上周和一位小伙伴交流了Excel数据处理的问题,和大家分享一下。

这位小伙伴看了永恒君的文章Excel VBA 实例(14) – 依据指定单元格的值,复制并插入相同数量的行

他碰到的问题和这个有点类似,就和我交流了一下。他的问题大体是这样的:

原始数据表如图,abcd表示四种设备的数量。

实现的效果如下图:

具体而言就是这样的:

1、每一行只显示一种设备的数量,如第一行有b、d两种设备,则拆分成两行,然后数量依次填入对应单元格。

2、这个设备有多少数量,就显示多少行。

3

这个情况确实和实例(14)有点类似,但是更为复杂一些。实例(14)只有单列的数据情况,而这次要考虑多列的数据。

因为当时我没有太多时间,就和这位伙伴交流了一下大致要实现的思路:
遍历每行,1、如果行的和大于0,则进行拆分;2、每个设备数量大于1,进行拆分;

这位小伙伴也非常厉害,很快就写出了实现的代码,并和我做了分享交流。

但同时也提到了一个效率问题,和我交流了一下有没有优化的方法。

这个时候我想到了用python,借助pandas库来处理这个问题,下面是核心代码:

处理同样的数据,VBA大约花了10s,python用了2s左右,而且都是没有进行过算法优化处理。

感谢这位伙伴的交流,让彼此又学到了新的知识!

如果你对这个python实例感兴趣,可以在公号内回复「单行」自取试用!

欢迎交流!

微信公众号:永恒君的百宝箱
个人博客:www.yhjbox.com

转载请注明:永恒君的百宝箱 » Excel如何将数据逐一拆分成单行?

喜欢 (11)
发表我的评论
取消评论
表情