ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[原创] 分享关于非结构化Excel表格数据整合,抽取的方案

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-4-6 16:51 来自手机 | 显示全部楼层
买关子不太好吧,演示个实例让人看看,也许认为你是对的。

TA的精华主题

TA的得分主题

发表于 2023-4-6 16:56 来自手机 | 显示全部楼层
对多簿多表标题行数一致并含有统一的可查询字段名的合并,我正在做呢。

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-4-6 17:03 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
zpy2 发表于 2023-4-6 15:27
能不能演示一个实例?

那就以这个帖子的内容写一个例子吧:


https://club.excelhome.net/thread-1658608-1-1.html

文件夹内的工作簿,其中的工作表数量名称不一,第2-4行是合并单元格的字段、且顺序名称不一。

    用VBA将所有簿中所有表的不重复字段(合并单元格形式)筛选到汇总表,按姓名、分字段进行合并及汇总。

   麻烦各位看看能否达到这样的目的。

    谢谢各位大师!




2023-04-06 16-53-05屏幕截图.png

原始数据和结果数据:
datas.zip (25.3 KB, 下载次数: 27)

以第一个sheet的数据为例,要提取出不固定位置的数据,只需要一句SQL:
  1. select
  2. `序号`
  3. `姓    名`
  4. `职务工资` -- 如果有多种列头写法,用正则:`(职务工资|岗位工资|职业工资)`
  5. `级别工资`
  6. `基本工资合计`
  7. `艰苦边远地区津贴`
  8. `税务征收津贴`
  9. `移动通讯费用补贴`
  10. `独生子女费`
  11. `回族伙食补贴`
  12. `国家统一规定的津贴补贴合计`
  13. `生活性补贴`
  14. `工作性补贴`
  15. `^改革性补贴$`-- 区别于`月增改革性补贴13.5`
  16. `^津贴补贴合计$`--区别于`国家统一规定的津贴补贴合计`
  17. `月增改革性补贴13.5`
  18. `2017年提高改革性补贴`
  19. `车改补贴`
  20. `工资总额`
  21. `养老保险8`
  22. `职业年金4`
  23. `住  房公积金     `
  24. `医疗保险`
  25. `2021年7月应扣个税`
  26. `2021年税务制服个人部分`
  27. `2021年大病医疗保险`
  28. `代扣及返还项目合    计`
  29. `实发金额`
  30. from excels;
复制代码


2023-04-06 17-03-14屏幕截图.png

如果要做汇总计算,还可以select sum(xx) from (上面的sql) 嵌套sql。
或者insert into到结果表后再汇总等。熟悉sql的很容易理解。



评分

2

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-4-6 17:10 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
lkqsmxw 发表于 2023-4-6 16:56
对多簿多表标题行数一致并含有统一的可查询字段名的合并,我正在做呢。

标题一致统一字段很简单,powerquery就可以。
这里主要讨论的是表头不一致和表结构模板不一致,比较脏乱的数据。

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-4-6 17:17 | 显示全部楼层
kaixinbuy 发表于 2023-4-6 17:03
那就以这个帖子的内容写一个例子吧:

在上面的例子中的sql正则比较完善后,就可以把这个SQL跑在要合并的1000个模板不一的excel上一次性运行。一次性提取1000个不统一格式excel数据。

TA的精华主题

TA的得分主题

发表于 2023-4-6 17:54 | 显示全部楼层
kaixinbuy 发表于 2023-4-6 17:03
那就以这个帖子的内容写一个例子吧:

谢谢大师,要的就是这个结果!
可惜本人不懂SQL,能发个汇总的附件吗,最好能用VBA,

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-4-6 18:05 | 显示全部楼层
jjmysjg 发表于 2023-4-6 17:54
谢谢大师,要的就是这个结果!
可惜本人不懂SQL,能发个汇总的附件吗,最好能用VBA,

没有用vba。  上面的SQL也很简单,基本就是一堆字段名。里边有相互包含的合计项是需要注意的地方。
sql和正则取决于原始数据的复杂度。普通的情况下不需要复杂的sql,按照模板依葫芦画瓢也很容易。
我只以第一个例子跑了下数据和结果。其他sheet没有时间。

TA的精华主题

TA的得分主题

发表于 2023-4-6 18:37 来自手机 | 显示全部楼层
kaixinbuy 发表于 2023-4-6 17:03
那就以这个帖子的内容写一个例子吧:



原始数据和结果数据看到了,但是能不能自己实现操作呢?
这个图片上的运行环境如何实现呢?

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-4-7 07:02 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
zpy2 发表于 2023-4-6 18:37
原始数据和结果数据看到了,但是能不能自己实现操作呢?
这个图片上的运行环境如何实现呢?

今天忙完了我就写一片完整的数据案例,运行环境搭建,运行过程,如何写SQL的文章给大家,最晚明天周六之前发出来。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2023-4-7 07:23 | 显示全部楼层
本帖最后由 wanghan519 于 2023-4-7 07:39 编辑

也就是说tablemerge可以自动把不规范的表头规范化,然后自己写的是匹配同一个字段不规范写法的正则表达式。

如果是这样,问题就是tablemerge规范化表头的能力有多强,如果只是拆开合并的单元格填充对应的内容,那用vba或其他语言也行,批量运行匹配不规范都没问题,毕竟同事都不愿意装环境。。。

兄弟如果方便加个好友,去年在事务所实习,做过应收应付底稿明细表的自动生成,数据不干净,且表格里有很复杂的公式,必须保持xlsx格式不能用vba。。。也有批量处理不规范的导出的发票信息的整理,想聊聊遇到的问题或解决的思路
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-16 10:52 , Processed in 0.047592 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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