📝 课前准备:案例数据设计逻辑
为了充分展示 Power Query (PQ) 的强大,我们设计了三张特殊的表格,包含了一些特殊的“坑”和业务场景:
-
表1:销售流水(事实表)
-
E04(小红):已离职员工,但在职期间有销售记录。
-
E05:临时工,不在正式员工名单中。
-
P105:新产品,尚未录入产品目录。
-
-
表2:员工字典(维度表)
-
E04:状态标记为“离职”。
-
E06(钱七):新入职员工,尚无销售记录。
-
-
表3:产品目录(维度表)
-
P101:故意出现了两次(ID重复),用于测试“一对多”匹配。
-
P106:滞销品,从未在流水表中出现。
-
🛠️ 关键操作一:表格对象的转换与批量导入
1. 为什么要转换为“表对象” (Excel Table)?
在 PQ 处理数据前,强烈建议将普通单元格区域 (Range) 转换为表对象 (Table)。
-
操作:选中区域 -> 插入 -> 表格(或快捷键 Ctrl + T)-> 勾选“包含标题”。
-
优势:
-
自动冻结首行标题。
-
支持结构化引用。
-
样式美观且数据范围自动扩展。
-
2. 一键导入所有表格
我们不一个个导入,而是使用一个 M 函数技巧一次性获取当前工作簿的所有表:
-
步骤:数据 -> 获取数据 -> 其他来源 -> 空查询。
-
输入公式:= Excel.CurrentWorkbook()
-
结果:当前工作簿内的三张表(表1、表2、表3)会全部列出,只需右键选择“作为新查询添加”即可拆分使用。
🚀 实战对比:Power Query 完胜 VLOOKUP 的三个时刻
1. 摆脱方向限制(任意列匹配)
-
VLOOKUP 的痛点:只能“向右看”。查找值必须在查找区域的第一列,想获取查找列左侧的数据(如:根据 ID 查左边的部门名称)非常麻烦,通常需要调整列顺序或使用 INDEX+MATCH。
-
Power Query 的优势:无方向限制。
-
在合并查询界面,左表选“员工ID”,右表选“员工ID”。
-
无论ID列在表的第几列,PQ 都能精准匹配。
-
结果:可以直接把右表整张表(包括部门、姓名、入职日期)全部抓取过来,想展开哪一列就展开哪一列。
-
2. 多条件同时匹配(无需辅助列)
-
VLOOKUP 的痛点:标准用法只支持单条件。如果需要同时匹配“员工ID”和“日期”,通常需要添加一列辅助列将两个字段拼合(如 A2&B2)。
-
Power Query 的优势:原生支持多键匹配。
-
操作:
-
先点击左表的“员工ID”,按住 Ctrl 键再点击“销售日期”。
-
对应地,先点击右表的“员工ID”,按住 Ctrl 键再点击“雇佣日期”。
-
-
结果:PQ 会严格按照你选择的顺序(ID对ID,日期对日期)进行双重验证匹配。无需任何辅助列,保持源数据清爽。
-
3. 彻底解决“一对多”匹配(VLOOKUP 的死穴)
-
场景:表3中的产品 P101 有两条记录(可能是数据录入重复,也可能是不同批次)。
-
VLOOKUP 的痛点:“懒惰”匹配。当它遇到多个匹配值时,永远只返回第一条,直接忽略后面的数据。这会导致数据提取不全,且用户往往难以察觉。
-
Power Query 的优势:全量匹配。
-
当流水表中的 P101 去匹配产品表时,如果产品表里有 2 个 P101。
-
PQ 会自动把这 2 行都抓取过来。
-
结果:原本流水表里的一行销售记录,在合并后会变成两行(因为匹配到了两个产品信息)。这种机制保证了信息的绝对完整性,不会遗漏任何一条关联数据。
-
💡 总结
通过本节课的三个实战案例,我们可以清晰地看到:
-
灵活性:PQ 不受列位置限制(左右互通)。
-
多维性:PQ 轻松搞定多条件关联(Ctrl 多选)。
-
完整性:PQ 在“一对多”关系中会返回所有结果,而 VLOOKUP 只能返回首个结果。
在处理复杂的数据关联时,Power Query 的合并查询无疑是比 VLOOKUP 更专业、更可靠的选择。










暂无评论内容