如何在Microsoft Excel中将文本转换为日期值

分析业务数据通常需要使用Excel中的日期值来回答诸如“我们今天赚了多少钱”或“与上周同一天相比如何”之类的问题。当Excel不能将这些值识别为日期时,这可能会很困难。

不幸的是,这并不罕见,特别是当多个用户键入此信息、从其他系统复制和粘贴以及从数据库导入时。

在本文中,我们将描述四种不同的场景和将文本转换为日期值的解决方案。

包含句号/句点的日期

初学者在Excel中键入日期时最常见的错误之一可能是使用句号字符分隔日、月和年。

Excel不会将其识别为日期值,并将其存储为文本。但是,您可以使用“查找和替换”工具解决此问题。通过将句号替换为斜杠(/),Excel将自动将这些值标识为日期。

选择要对其执行查找和替换的列。

单击主页>查找和选择>替换-或按Ctrl+H。

在“查找和替换”窗口中,键入句号(.)。在“查找内容”字段中添加一个斜杠(/),在“替换为”字段中添加一个斜杠(/)。然后,单击“全部替换”。

所有句号都转换为斜杠,Excel会将新格式识别为日期。

如果您的电子表格数据定期更改,并且您需要针对此方案的自动解决方案,则可以使用替换功能。

=VALUE(SUBSTITUTE(A2,".","/"))

替换函数是文本函数,因此无法将其本身转换为日期。VALUE函数将文本值转换为数字值。

结果如下所示。需要将该值格式化为日期。

您可以使用“主页”选项卡上的“数字格式”列表来完成此操作。

这里的句号分隔符示例是典型的。但是您可以使用相同的技术替换或替换任何分隔符。

转换yyyymmdd格式

如果您收到如下所示格式的日期,则需要使用不同的方法。

这种格式在技术上是相当标准的,因为它消除了关于不同国家如何存储其日期值的任何模棱两可的地方。但是,Excel最初不会理解它。

对于快速手动解决方案,您可以使用文本到列。

选择需要转换的值范围,然后单击数据>文本到列。

此时将出现“文本到列”向导。在前两个步骤中单击“下一步”,进入第三步,如下图所示。选择日期,然后从列表中选择单元格中使用的日期格式。在本例中,我们处理的是一种YMD格式。

如果您想要公式解,那么您可以使用DATE函数来构造日期。

这将与文本函数Left、Mid和Right一起使用,从单元格内容中提取日期的三个部分(日、月、年)。

下面的公式使用我们的样本数据显示了此公式。

=DATE(LEFT(A2,4),MID(A2,5,2),RIGHT(A2,2))

使用这两种技术中的任何一种,都可以转换任何八位数值。例如,您可能会收到ddmmyyyy格式或mmddyyyy格式的日期。

DATEVALUE和VALUE函数

有时,问题不是由分隔符字符引起的,而是因为它存储为文本而具有尴尬的日期结构。

下面是各种结构的日期列表,但我们都可以将它们识别为日期。不幸的是,它们已存储为文本,需要转换。

对于这些场景,很容易使用各种技术进行转换。

在本文中,我想提到两个处理这些场景的函数。它们是DATEVALUE和VALUE。

DATEVALUE函数将文本转换为日期值(可能已经看到),而VALUE函数将文本转换为通用数字值。它们之间的差别微乎其微。

在上图中,其中一个值也包含时间信息。这将是两个功能之间细微差异的展示。

下面的DATEVALUE公式会将每个值转换为日期值。

=DATEVALUE(A2)

注意时间是如何从第4行的结果中删除的。这个公式严格地只返回日期值。结果仍然需要格式化为日期。

以下公式使用VALUE函数。

=VALUE(A2)

此公式将产生相同的结果,但在第4行中,时间值也会保持不变。

然后可以将结果格式化为日期和时间,或设置为日期以隐藏时间值(但不能删除)。

相关文章