跳转至

DATEVALUE 函数

函数概述

DATEVALUE 用于将“看起来像日期的文本”转换为真正的日期序列值(Excel 内部用一个数字表示日期)。转换后,你就可以对结果进行日期计算、排序、筛选、提取年/月/日、与其他日期做差等。

  • 典型场景

  • 导入数据后日期是文本(左对齐、无法参与计算)

  • 日期文本包含分隔符(如 2026-01-172026/1/17Jan 17, 2026
  • 需要把文本日期统一转成标准日期进行统计分析

说明:DATEVALUE 的返回值是日期序列号,单元格显示成日期还是数字,取决于单元格格式。


基础语法

=DATEVALUE(date_text)

参数说明

参数 是否必填 类型 说明
date_text 文本(或引用到文本的单元格) 需要被转换的日期文本。必须能被 Excel 识别为日期。

补充说明:

  • date_text 可以是直接写在公式里的文本(需加双引号),也可以是单元格引用,如 A2
  • 日期文本的可识别形式会受到系统/Excel区域设置影响(例如 2026-01-17 通常更稳妥,17/01/202601/17/2026 在不同地区可能含义不同)。

基础用法示范

下面示例以“结果”为公式计算后的值展示,你可以按需设置单元格格式为“日期”以便直观看到日期。

1)把固定的日期文本转换为日期

=DATEVALUE("2026-01-17")

用途:最基础的文本转日期。


2)引用单元格中的日期文本

假设 A2 是文本:2026/1/17

=DATEVALUE(A2)

用途:批量导入的数据通常在单元格里,用引用最常见。


3)与 TODAY/NOW 配合:计算相差天数

假设 A2 是文本日期:2026-01-01

=TODAY()-DATEVALUE(A2)

用途:计算“今天”与文本日期之间相差多少天(正负取决于先后)。


4)先转日期,再提取年/月/日

假设 A2 是文本日期:2026-01-17

1
2
3
=YEAR(DATEVALUE(A2))
=MONTH(DATEVALUE(A2))
=DAY(DATEVALUE(A2))

用途:导入文本日期后做维度拆分(年、月、日)。


5)文本含有时间:仅提取日期部分再转换

如果 A2 是:2026-01-17 14:30:00(整体为文本)

可用 LEFT 先取前 10 位日期部分:

=DATEVALUE(LEFT(A2,10))

用途:很多系统导出的时间戳是文本,先截取日期再转换更稳定。


6)将文本日期“标准化展示”为你需要的格式

假设 A2 是文本日期:2026-01-17

先转成日期,再用 TEXT 控制显示格式:

=TEXT(DATEVALUE(A2),"yyyy-mm-dd")

用途:当你需要统一输出格式(例如导出、拼接、报表展示)。 注意:TEXT 的结果是文本,若要继续计算请保留 DATEVALUE 的日期值本体。


总结

  • DATEVALUE 的核心作用:把“日期文本”变成 Excel 可计算的日期序列值
  • 常见搭配:

    • TODAY() / NOW() 做日期差
    • YEAR / MONTH / DAY 做拆分
    • LEFT / MID 等文本函数配合处理带时间或混合字符串
    • TEXT 配合做格式化输出(但会转回文本)
  • 实务建议:如果日期文本来源复杂,优先让文本变得“更像标准日期”(例如 yyyy-mm-dd),再交给 DATEVALUE 转换,稳定性通常更好。