Power Query中如何将Date类型日期转为Excel序列号?
解决Power Query日期转Excel日期序列号问题
你之前的操作存在两个核心问题:一是Table.TransformColumnTypes的参数用法错误——这个函数的第二个参数是指定数据类型(比如type number),不能直接传入Number.From函数;二是直接转Int64类型时,Power Query会把日期的底层二进制值转换成大整数,这显然不是你要的Excel日期序列号。
下面是两种正确的实现方案:
方法一:直接转换原日期列
使用Table.TransformColumns调用Number.From函数,它会自动将日期转换为Excel默认1900日期系统的序列号(以1900-01-01为起始计数的天数):
= Table.TransformColumns(Source, {{"Delivery Date", each Number.From(_), type number}})
比如2023-02-01会直接输出44958,和Excel中的日期序列号完全一致。
方法二:新增列存储转换结果
如果不想修改原日期列,可通过新增列的方式保留转换后的值:
= Table.AddColumn(Source, "Excel日期序列号", each Number.From([Delivery Date]), type number)
解决科学计数显示问题
如果转换后数值显示为科学计数格式(比如6.38108E+17),只需右键目标列,选择「更改类型」→「整数」;或者在转换时直接指定整数类型:
= Table.TransformColumns(Source, {{"Delivery Date", each Number.From(_), Int64.Type}})
内容的提问来源于stack exchange,提问作者Joel
相关产品推荐
相关产品推荐

