当前时间: 2026-04-15 08:48:59
更新时间: 2026-04-15
分类:软件教程
评论(0)
EXCEL|Power Query之动态转换结构
今天这部分内容,对人事比较友好。因为人事每月要发工资条。因为这是极其机密的事情,所以要谨防泄露。那么当让员工签字的时候,左边的表格就太容易泄密,而且打印出来也不方便。右边这种格式,无论是从保密还是打印的角度,都方便很多。
那么今天,咱们就来学习下,如何使用Power Query由左表转化为右表。
1)将左表放入查询编辑器。为防止操作过程中左表原始数据丢失,咱们来复制3个表格,分别命名为工资条,空白表,标题表,见以下所示。
2)选择空白表,然后使用功能区转换-提取-提取首字符,然后在计数里输入0. 这一步的目的,是清空原表格内容,将这个表格设置为空白表格。这里注意下,是需要全选,选择所有列。
3)结果如下图所示。基于这个表格的操作,基本完成。哦,对了,后面还有一步,给这个表格加入索引列,咱们后面会讲到。
4)选择标题表,然后重复上面的操作,先把标题表,也转化为空白表格。然后选择所有的空白列,选择转换-替换值,把所有空白单元格替换成null。注意下,这里是null不是NULL. Power Query对大小写是很敏感的。如果填充成NULL,后面的向下填充就操作不了。
6)将标题行降级显示为第一行。操作如下图所示。做这一步,是为了下一步向下填充做准备。
8)因为3个表都有标题行,所以相当于是这个表格里的标题行要删掉2行,才能保证工资表的准确性。那就相当于执行2次将第一行作为标题行。操作如下图所示。
10)分别选择工资条,空白表,标题表,为3个表格添加索引列。注意,选择顺序不同,索引列的起始值不同。我们就按照工资条,空白表,标题表的顺序来添加索引列。以工资条为例。操作如下图所示。
11)在弹出的对话框里,起始值填0,增量填3.如下图所示。
12)结果如下图所示。大家有没有看出来点啥。没错,这个索引列就是为了下面三个表格汇总后排序用的。这样对比下,基本逻辑就通了对吧。
13)好了,要开始合并三个表格了。这个操作,是以工资条为主表的。选择工资条,然后选择转换-追加查询。
14)在弹出的对话框里,添加空白表和标题表2个表格,操作见如下。
15)结果如下图所示。这个表格看起来杂乱无章的。那么这个时候,我们前面一步加入的索引列,就开始派上用场了。
17)结果基本就出来了。这个时候,索引列的使命就完成了。我们可以毫不犹豫的删掉它了。我们最终要的效果就出来了。然后关闭上传就行了。
今天的操作步骤有点多,但是干货也挺多的。需要特别注意的点:
1. 3个表格各自担当着不可替代的作用,所以首先要把3个表格各自建立起来;
2. 向下填充的核心逻辑:Power Query 的「填充→向下」功能,只会填充null类型的空值,不会填充「空文本""」「0」等其他值。当单元格是null:系统判定为「缺失值」,用上方非空值覆盖;当单元格是""(空文本):系统判定为「有效值(空字符串)」,不会覆盖,填充失败。这也是为什么我们需要先把空值转化为null类型,然后才能成功向下填充。
3. 当多个表格合并后需要有个行显示的先后顺序的时候,就需要用到索引列。按照想要显示的顺序来设置表格的索引列的顺序。等表格合并好后就可以删掉了。