Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >批量汇总多Excel表格 | 格式化表单(如简历)数据汇总1:单表转换

批量汇总多Excel表格 | 格式化表单(如简历)数据汇总1:单表转换

作者头像
大海Power
发布于 2021-08-31 02:42:12
发布于 2021-08-31 02:42:12
1.1K00
代码可运行
举报
运行总次数:0
代码可运行

小勤:大海,现在有一堆格式化的表单,像这样的:

怎么转成下面这样规范的数据明细啊?不然没法做数据分析呢。

大海:这种填报格式的申请表、登记表等等的要转为规范的数据明细还真是经常有的事。以前我写过一个可配置的VBA,就是自己定义好哪个单元格的内容转到明细表里的哪一列,比如配置表:

然后运行程序,选择需要的文件统一导入到一个文件中:

小勤:这种可配置的导入程序很好啊!就像要这样的效果!

大海:不过,以前得用VBA的这个事情,现在其实可以用Power Query来实现了。

小勤:啊!那太好了。怎么做呢?

大海:其实思路差不多,就是先找到源数据表(格式表)需要导入的数据与目标表(规范明细表)的关系,然后把源表的数据放到目标表里。咱们先从这个简单的例子开始,今天先实现一个表格的转换,后面咱们在逐渐扩展到多表的、映射关系可配置的方式。

Step-01:从工作簿获取数据到PQ

Step-02:为避免数据类型转换错误,删掉PQ自动添加的“更改的类型”步骤

结果如下:

显然,其中有很多合并单元格的内容被识别成了null,这些我们都可以不管它,只要知道需要提取的信息固定在什么位置就好了,比如姓名“大海”在“Column2”的第“2”行(索引为1),所以,参考《理解PQ里的数据结构(二、行列引用)》的方法,只要读取这个表里的{1}[Column2]就可以得到姓名……

汇总对应关系如下表所示:

Step-03:修改生成的代码以完成转换

原来的代码是这样的(这里“源”行代码可能与您实际操作内容不同,因为已经修改了工作簿动态接入路径,与本文主体操作内容无关,若希望了解该内容,请参考《结合CELL函数实现数据源的动态化》):

修改后代码如下:

其中主要修改内容如下:

1、改个名称:原代码中生成的名称太长,为后面写起来方便,将“VIP登记表_Sheet”修改为“s”(这种修改经常用);

2、构造新的表(table):增加图中蓝色背景代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    d = #table(
           {"姓名","年龄","性别","公众号","兴趣","电话","邮箱"},
          {{s[Column2]{1},s[Column4]{1},s[Column6]{1},s[Column2]{2},
            s[Column4]{2},s[Column6]{2},s[Column2]{3}}}
        )

这句代码的含义就是直接用关键字#table构造表,语法很简单,就是先给标题名称列表,然后再给各行数据列表组成的一个列表(列表嵌套),具体语法如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#table({标题},
{{1行数据},
{2行数据},})

再简化一点儿用具体数据举个小栗子:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#table( {"姓名","年龄"},
      {{"大海","100"},
      {"小勤","18"}} )

就会得到以下内容的表:

小勤:理解了,这样标题和内容都明显意义对应的啊。看起来真是不难嘢,比写VBA好多了。呵呵

大海:嗯。当然啦,如果用VBA做的话,可以做得更加灵活,只是学VBA所需要投入的精力要更加大而已。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-11-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Excel到PowerBI 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
PQ-综合实战:格式化表单转数据明细之2:多表批量转换汇总
小勤:嗯。我刚试了一下,好简单,原来那个《单个格式表转换》里读数据的代码是这样的:
大海Power
2021/08/30
4100
批量汇总多Excel表格 | 格式化表单(如简历)数据汇总2:多表批量转换汇总
大海:有了《PQ-M及函数:结合前期案例,学习自定义函数》的基础,现在可以开始多个格式化表单数据的转换汇总了。
大海Power
2021/08/31
8110
理解PQ里的数据结构(一、总体结构)
大海:嗯,要深入学习M及函数部分,的确需要更加深入了解PQ里的数据是怎么构成的。我们还是先拿个简单的例子来看一下吧。
大海Power
2021/08/31
8330
PQ-综合实战:格式化表单转数据明细之3:可配置的映射关系,你的数据你做主
小勤:但是有个问题啊,比如构造出来行标和列标了,但通过表里转换的列标是文本,在PQ里用跨表引用数据的方式好像不行呢。
大海Power
2021/08/30
7580
PQ/PP结合:领导就要这种格式的数据汇总之续篇
小勤:我知道了,其实跟传统数据透视表的布局设置都是一样的了,就是取消分类汇总、取消行列总计、设置表格形式、合并居中……你关于数据透视布局的文章《随心所欲的分类汇总》和《行列表头,想合就合,想套就套》里说得很清楚了哦。
大海Power
2021/08/30
1.2K0
批量汇总多Excel表 | 标题位置不确定,怎么处理?
标准Excel表格批量汇总过程及基础方法请参考文章:《批量汇总Excel工作簿多表数据,结合CELL函数实现动态化数据源及需要注意的Formula.Firewall问题》,所有特殊情况处理都是在该基础方法之上加以适当的处理而已。
大海Power
2021/08/31
9430
将12个月的数据汇总到一起?带着多重表头也没事!
小勤:完美!而且通过Power Query做,下面的数据也是可以在源数据增减的情况下直接一键刷新的。
大海Power
2021/08/30
9130
PQ技巧:这个Excel表头里的日期怎么放到下面明细里的每一行?
小勤:很多Excel表里都将日期放到表头里,比如很多登记表之类的,怎么把这个日期放到下面明细表里的每一行啊?
大海Power
2021/08/31
1K0
PQ-批量汇总多Excel表格之特殊处理:标题行前行数不确定的处理
标准Excel表格批量汇总过程及基础方法请参考文章:《PQ批量汇总Excel文件就是这么简单》,所有特殊情况处理都是在该基础方法之上加以适当的处理而已。
大海Power
2021/08/30
1.1K0
多Excel文件数据汇总,列名大小写不一致咋办!!!
大海:多个Excel工作簿内容汇总用Power Query不是很简单的事情吗?前面我不仅推送了大量文章《用PQ自动汇总各种文件数据,这一系列我又都给你整理好了!》,另外,还专门发布了一个关于数据汇总的视频合集《【免费系列视频】Excel数据汇总特辑 | 多个案例,多种情况,举一反三!》
大海Power
2021/08/31
7400
厉害了,word哥,用PQ将word简历表格数据批量汇总到Excel,这实在是666666
小勤:大海,公司汇总了所有应聘者的简历,但都是分散的word文件,一个人一份,有没有办法将其中的姓名、性别、手机和邮箱等信息汇总到Excel里啊?
大海Power
2021/08/30
1.3K0
纯干货!不废话!10集免费视频直发,轻松搞定各种Excel表数据汇总 | Power BI
但是,日常工作中碰到的Excel数据表多种多样,有的比较规范,有的则是比较乱,以下,我总结了10种常见的汇总Excel数据表的情况,直接以视频形式直接发布:
大海Power
2023/09/09
3470
PowerQuery汇总全年数据时列数不一样的处理访求
近来在汇总全年数据时出现问题如下: 一个工作簿中的一个工作表在1-5月时是这样A-X列 那知道从6月起要在中间插入一列“其他”,所以变成了这样A-Y列 我在用PowerQuery汇总时用了以下的方法进行处理。在此记录下 let 源 = Folder.Files(目录[复制目录在此]{0}), Content = Table.AddColumn(源, "Con", each Excel.Workbook([Content])), 展开的Con= Table.Expan
哆哆Excel
2022/10/31
6110
Power Query 系列 (01) - Power Query 介绍
Power Query 是微软提供的工具,Excel 2013 版作为插件加载使用,从 Office 2016 版开始,Power Query 的功能集成到 Excel 中,可以直接使用。微软推出 Power BI Desktop 后,一系列的工具,比如 Power Query, Power Pivot, Power View 等,都集成在其中。Power Query 定位查询,中文一般翻译为超级查询,主要作用是连接不同种类的数据源,进行数据的转换。下图来自微软官方对 Power Query 的介绍,可以帮助理解。Power Query 主要实现连接和转换功能。
StoneWM
2019/08/30
6.1K0
SQL可以不懂,但表间数据匹配(合并查询)这6种联接类型必须要理解!
小勤:合并查询里的联接种类怎么这么多啊!左外部、右外部、完全外部、内部、左反、右反6种!分别都是什么意思?
大海Power
2021/08/31
1.7K0
PQ-批量汇总多Excel表格:标题都从第n行起怎么办?
标准Excel表格批量汇总过程及基础方法请参考文章:《PQ批量汇总Excel文件就是这么简单》,所有特殊情况处理都是在该基础方法之上加以适当的处理而已。
大海Power
2021/08/30
9140
批量汇总Excel工作簿多表数据,结合CELL函数实现动态化数据源及需要注意的Formula.Firewall问题
小勤:大海,我发现Power Query里有个很烦的事情,就是Excel工作簿或者文件夹的路径一改,PQ里就得跟着改源的路径,能不能动态自动化一点儿啊?
大海Power
2021/08/31
1.3K0
PQ批量汇总多Excel表格之特殊处理:标题不在第1行
小勤:我有一批从某个系统导出来的表,主体数据表格式完全一样,但标题行在第2行(第1行通常是空的),为什么通过Power Query合并时,有的会忽略掉第1行空行,有的又不会忽略掉?
大海Power
2021/08/30
1.8K0
【待发】PQ算法调优 | 从缓存表到缓存列,科目余额表取最明细数据问题极速提效
小勤:前面关于《最明细数据》的例子里,用Power Query做判断的方法虽然比较简单,但是数据量大了直接卡出翔啊!数据1万多行,每秒加载5行不到……
大海Power
2021/08/30
6890
轻松搞定复杂表单数据,快速提升办公数字化能力
“IT有得聊”是机械工业出版社旗下IT专业资讯和服务平台,致力于帮助读者在广义的IT领域里,掌握更专业、更实用的知识与技能,快速提升职场竞争力。 点击蓝色微信名可快速关注我们。
大海Power
2023/09/09
4840
轻松搞定复杂表单数据,快速提升办公数字化能力
推荐阅读
PQ-综合实战:格式化表单转数据明细之2:多表批量转换汇总
4100
批量汇总多Excel表格 | 格式化表单(如简历)数据汇总2:多表批量转换汇总
8110
理解PQ里的数据结构(一、总体结构)
8330
PQ-综合实战:格式化表单转数据明细之3:可配置的映射关系,你的数据你做主
7580
PQ/PP结合:领导就要这种格式的数据汇总之续篇
1.2K0
批量汇总多Excel表 | 标题位置不确定,怎么处理?
9430
将12个月的数据汇总到一起?带着多重表头也没事!
9130
PQ技巧:这个Excel表头里的日期怎么放到下面明细里的每一行?
1K0
PQ-批量汇总多Excel表格之特殊处理:标题行前行数不确定的处理
1.1K0
多Excel文件数据汇总,列名大小写不一致咋办!!!
7400
厉害了,word哥,用PQ将word简历表格数据批量汇总到Excel,这实在是666666
1.3K0
纯干货!不废话!10集免费视频直发,轻松搞定各种Excel表数据汇总 | Power BI
3470
PowerQuery汇总全年数据时列数不一样的处理访求
6110
Power Query 系列 (01) - Power Query 介绍
6.1K0
SQL可以不懂,但表间数据匹配(合并查询)这6种联接类型必须要理解!
1.7K0
PQ-批量汇总多Excel表格:标题都从第n行起怎么办?
9140
批量汇总Excel工作簿多表数据,结合CELL函数实现动态化数据源及需要注意的Formula.Firewall问题
1.3K0
PQ批量汇总多Excel表格之特殊处理:标题不在第1行
1.8K0
【待发】PQ算法调优 | 从缓存表到缓存列,科目余额表取最明细数据问题极速提效
6890
轻松搞定复杂表单数据,快速提升办公数字化能力
4840
相关推荐
PQ-综合实战:格式化表单转数据明细之2:多表批量转换汇总
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档