如何在Power Query中创建自定义列:依据A列6位数字匹配B/C列值
在Power Query中实现6位数字判断的自定义列
你可以通过以下两种方法实现需求,核心是判断列A的值是否为纯6位数字,再返回对应列的值:
方法1:文本长度+数值验证
这种方法适配列A为数值或文本格式的场景,先验证文本长度,再确认是否为纯数字:
- 打开Power Query编辑器,切换到「添加列」选项卡,点击「自定义列」
- 在公式框中输入以下M语言代码:
= if Text.Length(Text.From([A])) = 6 and Value.Is(Value.FromText([A]), type number) then [B] else [C]
- 点击「确定」完成自定义列添加
方法2:正则表达式精准匹配
如果需要严格验证列A的整个值都是6位数字(无其他字符),可以用正则表达式实现精准匹配:
- 同样打开「自定义列」对话框
- 输入以下代码:
= if Text.Matches(Text.From([A]), "^[0-9]{6}$") then [B] else [C]
- 点击「确定」即可
注:
^[0-9]{6}$表示匹配从开头到结尾的6个数字,避免误判包含6位数字的长文本(比如"1234567"或"abc123456")
内容的提问来源于stack exchange,提问作者symkly
相关产品推荐
相关产品推荐

