有很多方法可以将格式化为文本的日期转换为 Excel 中的实际日期,本教程旨在探索所有这些方法。
当您将数据导入 Excel 时,它可能以 Excel 无法识别的多种不同形式出现。有时,当从外部来源导入日期时,它们会以文本格式出现。
了解 Excel 根据您的系统区域设置应用日期格式也很重要。因此,当您将来自不同国家/地区的数据导入 Excel 时,Excel 可能无法识别它们并将它们存储为文本条目。
如果您遇到此问题,可以使用多种方法将 Excel 中的文本转换为日期,我们将在本教程中涵盖所有这些方法。
将文本转换为日期的方法
如果您的工作表包含格式为文本的日期而不是实际日期,则无法在任何计算中使用它们。因此,您需要将它们转换回实际日期。
如果您看到日期左对齐,则意味着它们被格式化为文本,因为文本默认左对齐。并且数字和日期总是向右对齐。
有几种不同的方法可以在 Excel 中将文本转换为日期,它们是:
- 错误检查选项
- Excel 文本到列功能
- 查找和替换
- 粘贴专用工具
- Excel 公式和函数
使用错误检查选项将文本转换为日期
Excel 具有内置的错误检查功能,可以发现数据中的一些明显错误。如果它发现任何错误,它会在单元格的左上角显示一个绿色的小三角形(一个错误指示符),其中包含错误。如果您选择该单元格,则会弹出带有黄色感叹号的警告标志。当您将光标移到该标志上时,Excel 会通知您该单元格可能存在的问题。
例如,当您在日期中以两位数格式输入年份时,Excel 假定该日期为文本并将其存储为文本。如果您选择该单元格,则会出现一个带有警告的感叹号:“此单元格包含仅用 2 位年份表示的日期字符串”。
如果您的单元格显示该错误指示符,请单击感叹号,它将显示一些选项以将格式为文本的日期转换为实际日期。 Excel 将向您显示将其转换为 19XX 或 20XX(1915 年为 19XX,2015 年为 20XX)的选项。选择适当的选项。
然后,文本将被转换为正确的日期格式。
如何在 Excel 中启用错误检查选项
通常,默认情况下 Excel 中的错误检查选项是打开的。如果错误检查功能对您不起作用,则需要在 Excel 中启用错误检查。
为此,请单击“文件”选项卡并在左侧面板中选择“选项”。
在 Excel 选项窗口中,单击左侧面板中的“公式”,然后在右侧面板中,启用“错误检查”部分下的“启用后台错误检查”。并在错误检查规则部分勾选“包含年份表示为 2 位数字的单元格”。
使用 Excel 文本到列功能将文本转换为日期
文本到列是 Excel 中的一个很棒的功能,它允许您将数据拆分为多列,它也是将文本值转换为日期值的强大工具。此方法识别几种不同的数据格式并将它们转换为正确的日期格式。
将简单文本字符串转换为日期
假设您的日期格式为这样的文本字符串:
您可以使用 Text to Columns 向导将它们全部重新格式化为日期。
首先,选择要转换为日期的文本条目范围。然后,转到功能区中的“数据”选项卡,然后单击“数据工具”组中的“文本到列”选项。
将出现“文本到列”向导。在文本到列向导的第 1 步中,选择原始数据类型下的“分隔”选项,然后单击“下一步”。
在第 2 步中,取消选中所有“分隔符”框,然后单击下一步。
在向导的最后一步,选择列数据格式下的“日期”,然后从“日期”旁边的下拉列表中选择您的日期格式,然后单击“完成”按钮。在我们的例子中,我们正在转换表示为“01 02 1995”(日月年)的文本日期,因此我们从“日期:”下拉列表中选择“DMY”。
现在,Excel 将您的文本日期转换为实际日期并在单元格中右对齐显示它们。
笔记: 在开始使用 Text to Column 功能之前,请确保所有文本字符串的格式都相同,否则文本将不会被转换。例如,如果您的某些文本日期格式为月/日/年 (MDY) 格式,而其他文本日期格式为日/月/年 (DMY),并且当您在第 3 步中选择“DMY”时,您将得到错误的结果。就像下图所示。
将复杂文本字符串转换为日期
当您想将复杂的文本字符串转换为日期时,文本到列功能会派上用场。它允许您使用分隔符来确定应将数据拆分和显示在 2 列或更多列的位置。并使用 DATE 函数将日期的分割部分组合成整个日期。
例如,如果您的日期显示在多部分文本字符串中,如下所示:
2020 年 2 月 1 日,星期三
2020 年 2 月 1 日下午 4 点
您可以使用“文本到列”向导来分隔以逗号分隔的日期、日期和时间信息,并跨多列显示它们。
首先,选择要转换为日期的所有文本字符串。单击“数据”选项卡上的“文本到列”按钮。在文本到列向导的第 1 步中,选择原始数据类型下的“分隔”选项,然后单击“下一步”。
在向导的第 2 步中,选择文本字符串包含的分隔符,然后单击“下一步”。我们的示例文本字符串由逗号和空格分隔 - “Monday, February 01, 2015, 1:00 PM”。我们应该选择“逗号”和“空格”作为分隔符,将文本字符串分成多列。
在最后一步中,为“数据预览”部分中的所有列选择“常规”格式。在“目标”字段中指定应插入列的位置,如果不指定,它将覆盖原始数据。如果要忽略原始数据的某些部分,请在“数据预览”部分中单击它并选择“不导入列(跳过)”选项。然后,单击“完成”。
现在,日期的部分(星期、月份、年份、时间)被拆分为 B、C、D、E、F 和 G 列。
然后,在 DATE 公式的帮助下将日期部分组合在一起以获得整个日期。
Excel DATE 函数的语法:
=日期(年、月、日)
在我们的示例中,月、日和年部分分别位于 C、D 和 E 列中。
DATE 函数只能识别数字而不是文本。由于我们在 C 列中的月份值都是文本字符串,我们需要将它们转换为数字。为此,您需要使用 MONTH 函数将月份的名称更改为月份的编号。
要将月份的名称转换为月份的数字,请在 DATE 函数中使用此 MONTH 函数:
=MONTH(1&C1)
MONTH 函数将 1 添加到包含月份名称的单元格 C2 以将月份名称转换为相应的月份编号。
这是我们需要用来组合来自不同列的日期部分的 DATE 函数:
=日期(E1,MONTH(1&C1),D1)
现在使用公式单元格底部角落的填充手柄并将公式应用于列。
使用查找和替换方法将文本转换为日期
此方法使用分隔符将文本格式更改为日期。如果日期中的日、月和年由除短划线 (-) 或斜线 (/) 以外的某个分隔符分隔,Excel 将不会将它们识别为日期,而是继续将它们存储为文本。
要解决此问题,请使用“查找和替换”功能。通过使用斜杠 (/) 或破折号 (-) 更改非标准句点分隔符 (.),Excel 会自动将值更改为日期。
首先,选择要转换为日期的所有文本日期。在“主页”选项卡上,单击功能区最右上角的“查找和选择”按钮,然后选择“替换”。或者,按 Ctrl+H
打开查找和替换对话框。
在“查找和替换”对话框中,在“查找内容”字段中键入文本包含的分隔符(在我们的示例中为句号 (.),在“替换为”字段中键入正斜杠 (/) 或破折号 (-) . 单击“全部替换”按钮替换分隔符,然后单击“关闭”关闭窗口。
现在,Excel 识别出您的文本字符串现在是日期,并自动将它们格式化为日期。您的日期将如下所示对齐。
使用粘贴专用工具将文本转换为日期
将文本字符串转换为日期的另一种快速简便的方法是使用粘贴特殊选项向文本字符串添加 0。将零添加到值会将文本转换为日期的序列号,您可以将其格式化为日期。
首先,选择一个空单元格并复制它(选择它并按 Ctrl + C
复制)。
然后,选择包含要转换的文本日期的单元格,右键单击并选择“选择性粘贴”选项。
在“选择性粘贴”对话框中,在“粘贴”部分下选择“全部”,在“操作”部分下选择“添加”,然后单击“确定”。
您还可以执行其他算术运算,将目标单元格中的值与粘贴的值相减/乘/除(例如将单元格乘以 1 或除以 1 或减去零)。
当您在操作中选择“添加”时,它会将“零”添加到所有选定的文本日期,因为添加“0”不会更改值,您将获得每个日期的序列号。现在您要做的就是更改单元格的格式。
选择序列号,然后在“主页”选项卡上,单击“数字”组中的“数字格式”下拉列表。从下拉菜单中选择“短日期”选项。
正如您现在所看到的,数字被格式化为日期并正确对齐。
使用公式将文本转换为日期
有两个函数主要用于将文本转换为日期:DATEVALUE 和 VALUE。
使用 Excel DATEVALUE 函数
Excel DATEVALUE 函数是将表示为文本的日期转换为日期序列号的最简单方法之一。
DATEVALUE 函数的语法:
=DATEVALUE(date_text)
争论: 日期文本
指定要转换的文本字符串或引用包含文本日期的单元格。
公式:
=日期值(A1)
下图说明了 DATEVALUE 函数如何处理几种不同的以文本形式存储的日期格式。
您获得了日期序列号,现在您需要将日期格式应用于这些数字。为此,请选择带有序列号的单元格,然后转到“主页”选项卡并从“数字格式”下拉列表中选择“短日期”。
现在您在 C 列中有格式化的日期。
即使文本日期 (A8) 中没有年份部分,DATEVALUE 也会使用计算机时钟中的当前年份。
DATEVALUE 函数只会转换看起来像日期的文本值。它不能将类似于数字的文本转换为日期,也不能将数值更改为日期,为此您需要 Excel 的 VALUE 函数。
使用 Excel VALUE 函数
Excel VALUE 函数能够将任何类似于日期或数字的文本字符串转换为数值,因此它在转换任何数字时非常有用,而不仅仅是日期。
值函数:
=VALUE(文本)
文本
– 我们要转换的文本字符串或引用包含文本字符串的单元格。
转换文本日期的示例公式:
=值(A1)
下面的 VALUE 公式可以将任何看起来像日期的文本字符串更改为数字,如下所示。
但是,VALUE 函数并不支持所有类型的日期值。例如,如果日期使用小数位 (A11),它将返回 #VALUE!错误。
获得日期的序列号后,您需要使用日期序列号格式化单元格,使其看起来像我们对 DATEVALUE 函数所做的那样。为此,请选择序列号,然后从“主页”选项卡的“数字格式”下拉菜单中选择“日期”选项。
就是这样,这些是您可以将格式化为文本的日期转换为 Excel 中日期的 5 种不同方式。