Microsoft Excel 列转行方法

好久没更新博客,发现这篇文章仅仅只是起了标题,内容啥都没有

尝试在OneNote里找笔记,结果也没有,现在完全忘记当时是怎么做到的,只记得 用数据透视 30秒就能完成

心疼,果然还是“好记性不如烂笔头”,唉~

那么,现在我是用VBA实现的,下面举个栗子

有时候用户会提出需求说帮我把这些数据导入到系统,但是格式跟数据库结构完全不一样

由于 【体积】【公里】两个都是动态可变的,那么数据库表结构肯定不是 以【0-5】去建立的嘛

改天用户要加一个体积范围,你又得改表结构,程序统统要改,要是改漏了,这锅是背定的

那么为了适应这种需求,数据库是这么设计的

比如,快递小哥跑了6公里,给你送一个4立方米的东西,那么对钱的快递费就是 10块钱

跑6公里,送20立方米,快递费30块

这样用户说要改体积区间或公里区间,只要修改数据,程序仅仅是按实际数据去这里匹配即可

你说分细一点,11-50立方米 要改成 11-20 、21-50 两个区间,不然快递小哥都不愿意接超过 12 立方米的单,毕竟重活能拿30快, 轻活也能拿30块,谁都会选

背景介绍完了,用户给的数据是肯定要转换的,也不能可能一个个手工转换,虽然我是个码农,但是时间也是很宝贵的

按下Alt+F11,弹出VBA编辑界面,双击左边的 “XXXX Excel 对象”下的工作薄

下面是代码,复制粘贴大法

F5走起,结果就是这样子

再使用Excel 自带的“分列”功能,处理下,当然这步也是可以在VBA里一起做,我就懒得写,有界面点点不好吗?

最后,得到与数据库结构一样的东西,剩下的导入数据库,就不说了,也是界面 点点

感觉这东西好像不叫“列转行”,我也不知道叫什么好

就这样

关于 “Microsoft Excel 列转行方法” 的 2 个意见

发表评论

电子邮件地址不会被公开。 必填项已用*标注