Power Query实现优先取表A值、表A为空时取表B值的方法
Power Query实现表A优先、表B补值的合并方案
完全可以实现你的需求——用手动上传的表A值优先,表A为空时用表B值,同时解决重复值问题。以下是具体操作步骤:
前提准备
确保两张表有唯一关联键(比如ID、编码等唯一标识列),这是匹配和避免重复的核心基础。
操作步骤
1. 正确合并表(避免重复的关键)
- 在Power Query中加载表A和表B
- 选中表A,点击菜单栏的「合并查询」,选择表B作为合并对象,在关联键列表中选中共同的唯一标识列,合并类型选择左外部合并(以表A的记录为基准,仅匹配表B中对应ID的内容)
- 点击确定后,展开合并后的表B列,只勾选需要补值的字段,不要重复勾选关联键列
2. 实现“表A优先”的取值逻辑
对每一个需要处理的字段,添加自定义列,用条件判断实现优先取值:
// 示例:处理"销售额"列,替换成你实际的列名 if [表A_销售额] <> null then [表A_销售额] else [表B_销售额]
- 把自定义列重命名为原字段名(比如「销售额」),然后删除原来的表A和表B的对应字段
3. 清理重复记录
- 选中唯一关联键列,点击菜单栏的「删除重复项」,确保每个唯一标识只保留一条记录
- 最后删除所有冗余的中间列,得到最终的合并表
特殊场景处理:表A有新增记录,表B无对应数据
如果需要保留表A的所有记录,同时纳入表B中未在表A出现的记录,就把合并类型改成完全外部合并,取值逻辑不变,最后同样通过关联键删除重复项即可。
内容的提问来源于stack exchange,提问作者ayyyran
相关产品推荐
相关产品推荐

