You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Power Query中通过类VLOOKUP方式填充F/G/H列的缺失值?

在Power Query中基于A/B列填充F/G/H列的"?"值

方法一:用合并查询实现类VLOOKUP效果

  1. 提取参照表

    • 复制当前查询(右键查询名→复制),命名为「参照表」
    • 在「参照表」中筛选F、G、H列均不为"?"的行,只保留A、B、F、G、H列
    • (可选)添加合并键列:新建自定义列,公式为= Text.Combine({[A], [B]}, "-"),把A、B列合并成唯一标识,方便后续匹配
  2. 关联原表与参照表

    • 回到原查询,同样添加和参照表规则一致的合并键列(如果之前做了的话)
    • 点击「合并查询」→选择「参照表」,匹配条件选A列和B列(或合并键列),合并类型选「左外部」
    • 展开合并后的列,只选择参照表的F、G、H列(重命名为「匹配F」「匹配G」「匹配H」避免冲突)
  3. 替换"?"值

    • 对原表的F列新建自定义列:= if [F] = "?" then [匹配F] else [F],同理处理G、H列
    • 删除原F、G、H列,把新列重命名为F、G、H,再删掉合并键、匹配列等临时列

方法二:直接用LookupValue函数(Power BI环境适用)

如果是在Power BI的Power Query编辑器中,可以直接用LookupValue函数一步完成,不需要额外建参照表:

  • 对F列新建自定义列:
    = LookupValue(源[F], 源[A], [A], 源[B], [B], [F])
    
    公式逻辑:在当前数据源中,找到A列等于当前行A、B列等于当前行B的记录,返回对应的F列值;如果当前行F列不是"?", 直接保留原数值。
  • 同理复制公式到G、H列,最后替换原列即可

常见问题提示

之前用条件列失败,大概率是没同时基于A、B两列做匹配,或者没筛选出完整的参照数据导致匹配结果不准确。确保匹配时同时关联A和B两列,避免出现一对多的匹配错误。

内容的提问来源于stack exchange,提问作者Muniz Reza

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 18:31:10