如何在Excel Power Query中通过添加应用步骤为列设置自定义数字格式000.000
如何在Excel Power Query中通过添加应用步骤为列设置自定义数字格式000.000
刚好之前处理过类似的需求,给你两种实用的方法,都能通过添加应用步骤来实现:
方法一:将列转为带指定格式的文本(固定显示样式)
如果你需要在Power Query里就把内容变成000.000的样式,后续不需要再做数字计算,可以用这个方法:
- 第一步先把文本列转成数字类型:选中目标列,点击顶部菜单栏的「转换」→「数据类型」→「小数」(如果你的数据是纯整数,选「整数」即可),这会自动生成一个「更改类型」的应用步骤。
- 接着在步骤面板里点击「新建步骤」→「自定义」,在弹出的编辑器中输入M代码(记得替换
PreviousStepName为你上一步的名称,YourColumnName为目标列的名称):
这段代码的作用是把数字按照Table.TransformColumns(PreviousStepName, {{"YourColumnName", each Number.ToText(_, "000.000"), type text}})000.000的格式转成文本,不足的位数会自动补零——比如输入12会变成012.000,123.45会变成123.450,完全符合你的要求。
方法二:保留数字类型,设置加载后的显示格式(支持后续计算)
如果你需要保留列的数字属性,方便后续做计算,同时让Excel加载后自动显示为000.000格式,可以这样操作:
- 同样先把文本列转成数字类型(和方法一的第一步一致)。
- 点击顶部菜单栏的「视图」→「高级编辑器」,找到对应列的定义部分,添加格式属性。或者直接新建一个自定义步骤,输入以下代码(替换占位符为你的实际名称):
这样设置后,数据加载到Excel后会自动应用Table.SetAttribute(PreviousStepName, "YourColumnName", "Format", "000.000")000.000的数字格式,而且依然是可计算的数字类型。
至于你提到的「Transform Format」选项找不到对应格式,是因为Power Query的内置格式库没有包含这种自定义的三位整数+三位小数样式,所以需要手动用M代码来实现,上面两种方法都能完美解决你的问题,你可以根据实际需求选择~
备注:内容来源于stack exchange,提问作者Kamosan




