我有一个非常大的 Excel 电子表格,其中有一列时间戳。有谁知道将其转换为日期?有我可以使用的功能吗?我尝试了格式化单元格日期,但这不起作用。我的文件是 91,568 KB。如果有更简单的方法,那就太好了。我对想法持开放态度。
先感谢您 :)
PS 我不会任何编程语言
我有一个非常大的 Excel 电子表格,其中有一列时间戳。有谁知道将其转换为日期?有我可以使用的功能吗?我尝试了格式化单元格日期,但这不起作用。我的文件是 91,568 KB。如果有更简单的方法,那就太好了。我对想法持开放态度。
先感谢您 :)
PS 我不会任何编程语言
使用此公式并将格式设置为所需的时间格式:
=(((COLUMN_ID_HERE/60)/60)/24)+DATE(1970,1,1)
来源:http ://www.bajb.net/2010/05/excel-timestamp-to-date/ 在 libreoffice 中测试
时间戳是自纪元时间 (01/01/1970) 以来经过的时间,所以基本上我们必须以天为单位转换这个时间,并添加纪元时间,以获得任何 Excel 等电子表格软件的有效格式。
以毫秒为单位的时间戳(例如:1488380243994)
使用这个公式:
=A1/1000/86400+25569
使用这个格式化程序:
yyyy-mm-dd hh:mm:ss.000
以秒为单位的时间戳(例如:1488380243)
使用这个公式:
=A1/86400+25569
使用这个格式化程序:
yyyy-mm-dd hh:mm:ss
A1
您的列标识符在哪里。鉴于自定义格式化程序允许在显示的数据中不丢失精度,但您当然可以使用与您的需求相对应的任何其他日期/时间。
如果您在 Libre 办公室收到错误 509,您可以在 DATE() 函数中替换,
为;
=(((COLUMN_ID_HERE/60)/60)/24)+DATE(1970;1;1)
下面的公式在 MS EXEL 中对我起作用
=TEXT(CELL_VALUE/24/60/60/1000 + 25569,"YYYY-MM-DD HH:MM")
CELL_VALUE 是以毫秒为单位的时间戳
这里是文本功能的解释。
如果您的文件非常大,请尝试使用以下公式:=A1 / 86400 + 25569
A1 应该根据您的需要更换。应该比 =(((COLUMN_ID_HERE/60)/60)/24)+DATE(1970,1,1) 工作得更快,因为需要的计算次数更少。
=(((A1/60)/60)/24)+DATE(1970,1,1)+(-5/24)
假设A1
是您的时间戳所在的单元格,并且不要忘记调整以考虑您所在的时区(5 假设您在 EST)
这个DATE
东西不适用于所有 Excel 版本。
=CELL_ID/(60 * 60 * 24) + "1/1/1970"
而是一个保存赌注。
引号是防止 Excel 计算术语所必需的。
注意纪元时间的位数。通常它们是十个 (1534936923) ,然后使用:
=(A1 / 86400) + 25569
对于纪元时间的十三位数 (1534936923000) 调整公式:
=(LEFT(A1,LEN(A1)-3) / 86400) + 25569
避免
###################################
负数或过大的日期或时间显示为######
@NeplatnyUdaj 的答案是正确的,但考虑到 Excel 需要设置语言的函数名称,在我的例子中是德语。然后你需要使用“DATUM”而不是“DATE”:
=(((COLUMN_ID_HERE/60)/60)/24)+DATUM(1970,1,1)
这对我有用:
=(col_name]/60/60/24)+(col_name-1)
AD 刻度为日期时间格式:=A1/864000000000 - 109205
我在 LibreOffice Calc 中得到了结果:
=DATE(1970,1,1)+Column_id_here/60/60/24
使用这个简单的公式。有用。
假设时间戳在A2
:
=DATE(YEAR(A2),MONTH(A2),DAY(A2))