DATEVALUE、TIMEVALUE,将日期、时间字符串转为真正的日期、时间
将日期字符串转化为真正的日期
每个日期都对应着一个正整数,但是通常来说,我们不直接使用整数来表示日期,而是要具体指明“年月日”。因此,Excel内置了一部分常用的“年月日”日期格式,年、月、日的分隔符号可以是斜线(除号/)和短线(减号-),简体中文操作系统中,“年”“月”“日”三个汉字也能识别。
当在常规格式单元格中输入这样的日期时,Excel就能识别到我们在输入日期,并根据实际输入的格式,对单元格设置数字格式,从而显示出符合习惯的日期形式,不过编辑栏显示的都是系统默认的短日期形式。具体见下表。
如果将单元格设置为文本后再输入,则单元格中存储的就是字符串,不会被认为是在输入日期。但是Excel能识别这些文本字符串与日期的对应关系。为了将文本字符串给出的日期转化为真正的日期,也就是转化为对应的整数序列号,Excel提供了DATEVALUE函数。
语法:
DATEVALUE(Date_text)
其中Date_text是能被Excel识别为日期的文本字符串。
如下图,A列是表示日期的文本字符串,而且都能被Excel识别。使用DATEVALUE即可将字符串形式的日期转化为其对应的序列号。然后,通过设置单元格格式,可以改变显示方式。
将时间字符串转化为真正的时间
同样,一些时间字符串也可以识别为时间。
时间实际上是0到1之间的小数。但是通常来说,我们表示时间时,会具体指明“时分秒”。因此,Excel内置了一部分常用的“时分秒”时间格式,时、分、秒的分隔符号是冒号(:),简体中文操作系统中,“时”“分”“秒”三个汉字也能识别。另外,如果是12小时制,形式为“时间+空格+AM或PM”,AM表示上午,PM表示下午。
当在常规格式单元格中输入这样的时间时,Excel就能识别到我们在输入时间,并根据实际输入的格式,对单元格设置数字格式,从而显示出符合习惯的时间形式,不过编辑栏显示的都是系统默认的hh:mm:ss形式。具体见下表。
如果将单元格设置为文本后再输入,则单元格中存储的就是字符串,不会被认为是时间。但是Excel能识别这些文本字符串与时间的对应关系。为了将文本字符串给出的时间转化为真正的时间,也就是转化为0-1之间的小数,Excel提供了TIMEVALUE函数。
语法:
TIMEVALUE(Time_text)
其中Time_text就是能被Excel识别为时间的字符串。
如下图,A列是表示时间的文本字符串,而且都能被Excel识别。使用TIMEVALUE即可将字符串形式的时间转化为其对应的小数。然后,通过设置单元格格式,可以改变显示方式。
将日期时间字符串转化为真正的日期时间
当然,一个准确完整的时间,应包括“日期+时间”,对应的数字就有整数部分和小数部分。例如2025/7/4日的序列号是45842,中午12:00:00在一天中对应的小数是0.5,那2025/7/4 12:00:00对应的数字就是45842.5。实际上,当只有日期时,时间默认为0,只有时间时,日期默认为0。
在常规单元格中输入日期时间,形式为“日期+空格+时间“。日期部分的输入和时间部分的输入方式如前文所述,注意日期部分和时间部分之间要用空格隔开。
另外,汉字“年月日”和“时分秒”同时出现时,不能被识别为日期时间。
下图中是一些输入方式和其对应的显示,其中显示方式与单元格格式有关。不过在编辑栏显示的都是yyyy/m/d hh:mm:ss形式。
如果将单元格设置为文本后再输入日期时间,则单元格中存储的就是字符串。但是Excel能识别这些文本字符串与日期时间的对应关系。同样可以用DATEVALUE提取其中的日期(忽略时间),用TIMEVALUE提取其中的时间(忽略日期)。如下图。
DATEVALUE、TIMEVALUE函数在系统导出的表中较常用,因为其中的日期时间可能全是文本格式;另外,使用MID函数提取出字符串中的日期和时间字符也是文本格式。此时,再使用DATEVALUE、TIMEVALUE即可转化为真正的日期、时间。
本文给出的日期字符串和时间字符串是较常用的形式。对于一些其他表达形式,Excel可能也能识别,遇到时可以尝试用DATEVALUE、TIMEVALUE进行转化。