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

Power Query移除含特定字符串的姓氏字段值报错求助

Power Query代码错误排查与修正

错误原因

你的代码中,List.MatchesAny的lambda表达式里使用了[Person Surname]来引用字段值,但在Table.TransformColumns的each上下文环境中,当前正在处理的字段值应该用下划线_来指代,而非列名引用。这种错误的引用方式会导致Power Query无法正确识别要处理的值,最终所有字段都返回错误。

修正后的代码

= Table.TransformColumns(
    #"Move Company Names to New Column", 
    {
        {"Person Surname",
         each if 
             (Text.Length(_) > 20) or 
             List.MatchesAny(
                 {"Ltd","Limited","LLP","T/A","Plc"}, 
                 (s) => Text.Contains(_, s, Comparer.OrdinalIgnoreCase)
             ) 
         then null else _
        }
    }
)

额外优化(可选)

如果「Person Surname」字段可能存在null值,为避免Text.Length函数报错,可以加入空值判断:

= Table.TransformColumns(
    #"Move Company Names to New Column", 
    {
        {"Person Surname",
         each if _ = null then null else
             if (Text.Length(_) > 20) or 
                List.MatchesAny(
                    {"Ltd","Limited","LLP","T/A","Plc"}, 
                    (s) => Text.Contains(_, s, Comparer.OrdinalIgnoreCase)
                ) 
             then null else _
        }
    }
)

内容的提问来源于stack exchange,提问作者Peter Mogford

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 09:02:05