如何阻止导入时将文本格式的'01'转换为数值1?
如何保留导入时带前导零的文本格式(如01、02)
当使用查询从其他工作簿导入数据时,Power Query默认的自动数据类型检测会把带前导零的文本(比如"01")识别为数值,导致前导零丢失。以下是解决方法,无需每次手动重新格式化:
一、导入时直接强制设置文本格式并补全前导零
- 进入Power Query编辑器:导入数据时,在导航器中选中目标工作表后,点击转换数据。
- 调整数据类型:找到"Rev"列,点击列标题旁的类型图标(默认可能是"整数"或"小数"),选择文本。此时原数值会变成不带前导零的文本(如"1")。
- 补全前导零:添加自定义列,输入M语言公式:
这个公式会将数值转为文本,并自动补全前导零至2位(如果需要更多位数,修改数字2即可)。之后可以删除原"Rev"列,将自定义列重命名为"Rev"。= Text.PadStart(Text.From([Rev]), 2, "0")
二、固定转换步骤,避免重复操作
完成上述格式调整后,保存Power Query查询。之后每次刷新数据时,查询会自动执行预设的转换步骤,无需手动重复设置。
三、源文件端的提前优化(可选)
如果有权限修改源工作簿,可以确保"Rev"列的单元格格式为文本,并且输入内容时通过以下方式确保是纯文本:
- 输入前先加单引号(如
'01); - 先设置单元格格式为文本,再输入内容。
不过这种方法无法完全避免Power Query的自动类型检测,因此仍建议配合查询内的转换步骤使用。
内容的提问来源于stack exchange,提问作者Aaron Doyle
相关产品推荐
相关产品推荐

