Excel查询编辑器中Table.ReplaceValue函数无法生效问题求助
问题分析与解决
你的Table.ReplaceValue步骤未生效的核心原因是布尔值与字符串的类型不匹配:
- 你在条件中用字符串
"false"/"true"进行比较,但[P&C info received]列大概率是Power Query的逻辑布尔类型(原始值为TRUE/FALSE,无引号),这种跨类型比较永远不成立,导致替换逻辑无法触发。
修正后的M代码
= Table.ReplaceValue( #"Replaced Value7", each [P&C info received], each if [P&C info required] = "Required" and [P&C info received] = false then "Outstanding" else if [P&C info required] = "Required" and [P&C info received] = true then "Received" else [P&C info received], Replacer.ReplaceValue, {"P&C info received"} )
关键修改点
- 类型匹配:去掉
true/false的引号,直接使用布尔值进行比较 - 替换器适配:将
Replacer.ReplaceText改为Replacer.ReplaceValue——ReplaceText仅支持文本类型替换,ReplaceValue可处理布尔值到文本的跨类型替换 - 冗余格式清理:移除了字符串末尾多余的空格,避免后续数据格式问题
额外说明
如果[P&C info received]列实际是文本类型的"TRUE"/"FALSE"(全大写),则需将条件中的比较值改为"TRUE"/"FALSE"(Power Query文本比较区分大小写)。
内容的提问来源于stack exchange,提问作者mblack204
相关产品推荐
相关产品推荐

