谷歌表格中实现新增数据时自动转换Unix时间戳为日期
谷歌表格自动转换Unix时间戳为日期(新增数据自动生效)
方法1:使用ARRAYFORMULA(推荐)
在你想要显示转换后日期的列的第一个数据单元格(比如原时间戳在S列,目标列选T2)输入以下公式:
=ARRAYFORMULA(IF(S2:S="", "", S2:S/1000/86400 + DATE(1970,1,1)))
- 公式说明:
ARRAYFORMULA会自动对S2:S范围内的所有单元格批量计算,无需手动下拉填充IF(S2:S="", "", ...)确保当S列对应单元格为空时,目标列也显示空值,避免出现错误或无效日期S2:S/1000适配毫秒级时间戳(如果是秒级时间戳,直接去掉/1000)/86400等价于/60/60/24,用来把秒数转换成天数,再加上Unix纪元起始日期DATE(1970,1,1)得到最终日期
输入公式后,记得把目标列的单元格格式设置为日期(操作路径:「格式>数字>日期时间」,按需选择具体格式)。之后只要S列新增数据,目标列会自动同步转换结果。
方法2:使用BYROW函数(适合新版谷歌表格)
如果你的谷歌表格支持LAMBDA函数,也可以用更直观的逐行处理方式:
=BYROW(S2:S, LAMBDA(x, IF(x="", "", x/1000/86400 + DATE(1970,1,1))))
- 公式说明:
BYROW遍历S2:S的每一行,用LAMBDA定义每行的计算逻辑,效果和ARRAYFORMULA完全一致。
注意事项
- 确保S列的时间戳是数字格式,如果是文本格式,需要先转换成数字(可以用
VALUE()函数嵌套,比如把公式里的S2:S改成VALUE(S2:S)) - 如果你的时间戳是秒级(不是毫秒),直接删除公式中的
/1000部分即可
内容的提问来源于stack exchange,提问作者Blaze101
相关产品推荐
相关产品推荐

