Excel时间类型函数(包括today、date、eomonth、year、month、day、weekday、weeknum、datedif)

目录

      • [1. `TODAY()`](#1. TODAY())
      • [2. `DATE()`](#2. DATE())
      • [3. `EOMONTH()`](#3. EOMONTH())
      • [4. `YEAR()`](#4. YEAR())
      • [5. `MONTH()`](#5. MONTH())
      • [6. `DAY()`](#6. DAY())
      • [7. `WEEKDAY()`](#7. WEEKDAY())
      • [8. `WEEKNUM()`](#8. WEEKNUM())
      • [9. `DATEDIF()`](#9. DATEDIF())
      • [10.📌 函数扩展与应用](#10.📌 函数扩展与应用)
      • [11. 📚 时间函数基础概念与分类](#11. 📚 时间函数基础概念与分类)

Excel 提供了许多 日期与时间类型的函数 ,用于操作与处理日期或时间数据。这些函数对于数据分析、报表生成、项目管理等场景非常重要。

Excel 使用的日期是一个从 1900 年 1 月 1 日开始的序列号,例如:

  • 2025-04-02 的序列号为 44903
  • Excel 可以进行日期加减计算,例如:=A1 + 7 会得到 7 天后的日期。

以下是主要函数的详细介绍:


1. TODAY()

用途:返回当前日期,不包含时间部分。

  • 格式:=TODAY()
  • 返回结果:系统当前日期(例如:2025-04-02)。
  • 应用场景:自动生成报告日期、计算工作天数等。

示例:

A B 结果
今日日期 =TODAY() 2025-04-02
比今天晚10天的日期 =TODAY()+10 2025-04-12

2. DATE()

用途:返回由年、月、日三个参数构成的日期。

  • 格式:=DATE(year, month, day)
  • 返回结果:一个合法的日期。
  • 应用场景:将年、月、日组合成标准日期格式,或用于动态生成日期。

示例:

A B C D E
日期 结果
2025 4 2 =DATE(A2,B2,C2) 2025-04-02

3. EOMONTH()

用途:返回指定日期 前/后指定月数的月份的最后一天。

  • 格式:=EOMONTH(start_date, months)
  • 参数说明:
    • start_date:起始日期(选中的日期)。
    • months:正数表示未来的月份,负数表示过去的月份
      • -1:上个月
      • 0:当月
      • 1:下月
  • 应用场景:计算月末日期、生成财务月报等。

示例:

A B 结果
起始日期 2025-04-02
上月月末 =EOMONTH(A2, -1) 2025-03-31
本月月末 =EOMONTH(A2, 0) 2025-04-30
下月月末 =EOMONTH(A2, 1) 2025-05-31

4. YEAR()

用途:从给定日期中提取年份

  • 格式:=YEAR(date)
  • 返回结果:整数年份。
  • 应用场景:数据分类、年度汇总等。

示例:

A B
日期 2025-04-02
年份 =YEAR(A2)
结果 2025

5. MONTH()

用途:从给定日期中提取月份(1-12)

  • 格式:=MONTH(date)
  • 返回结果:月份数字。
  • 应用场景:月度分析、季度统计等。

示例:

A B
日期 2025-04-02
月份 =MONTH(A2)
结果 4

6. DAY()

用途:从给定日期中提取日期中的"日"。

  • 格式:=DAY(date)
  • 返回结果:日期中的日子(1-31)。
  • 应用场景:按天分析、数据对比等。

示例:

A B
日期 2025-04-02
=DAY(A2)
结果 2

7. WEEKDAY()

用途:返回一个日期对应的 星期几,默认为 1=周日7=周六

  • 格式:=WEEKDAY(date, [return_type])
  • 参数说明:
    • date:目标日期。
    • return_type:决定返回值的模式。
      • 1:周日=1,周一=2,...,周六=7(默认)。
      • 2:周一=1,周二=2,...,周日=7。
      • 3:周一=0,周二=1,...,周日=6。
  • 应用场景:周报表生成、工作日计算等。

示例

A B
日期 2025-04-02
星期几 =WEEKDAY(A2, 2)
结果 3 (代表星期三)

8. WEEKNUM()

用途:返回一个日期在一年中的第几周。

  • 格式:=WEEKNUM(date, [return_type])
  • 参数说明:
    • date:目标日期。
    • return_type:决定每周的起始日。
      • 1:周日为每周的第一天(默认)。
      • 2:周一为每周的第一天。
  • 应用场景:季度统计、年报分析等。

示例:

A B
日期 2025-04-02
周数 =WEEKNUM(A2, 2)
结果 14

9. DATEDIF()

DATEDIF 用于计算两个日期之间的差值,并返回不同单位(年、月、日)下的差值。虽然它是一个 "隐藏函数"(不会在函数列表中显示),但在日期差值计算中非常强大。


函数语法

excel 复制代码
=DATEDIF(start_date, end_date, unit)
  • start_date:起始日期(较早的日期)。
  • end_date:结束日期(较晚的日期)。
  • unit:返回结果的单位,用引号括起来。支持以下几种单位:
单位 含义 说明
"Y" 年数 返回两个日期之间的 完整年份数
"M" 月数 返回两个日期之间的 完整月份数
"D" 天数 返回两个日期之间的 天数总计
"MD" 忽略年与月,仅计算 天数差 2024-01-102025-03-20 返回 10
"YM" 忽略年,仅计算 月份差 2024-01-102025-03-20 返回 2
"YD" 忽略年,仅计算 天数差 2024-01-102025-03-20 返回 69

🚩 注意:start_date 必须小于等于 end_date,否则会返回错误值!


示例用法

假设在 Excel 表中:

A B C
起始日期 2020-01-01
结束日期 2025-04-02

公式与结果如下:

单位 公式 结果
年数 =DATEDIF(A2, B2, "Y") 5
月数 =DATEDIF(A2, B2, "M") 63
天数 =DATEDIF(A2, B2, "D") 1918
忽略年,仅计算月数 =DATEDIF(A2, B2, "YM") 3
忽略年与月,仅计算天数 =DATEDIF(A2, B2, "MD") 1
忽略年,仅计算天数 =DATEDIF(A2, B2, "YD") 91

应用案例

🎯 工龄计算

如果要计算员工的工龄(单位为年),可以使用:

excel 复制代码
=DATEDIF(入职日期, TODAY(), "Y")

举例:如果 入职日期 = 2018-03-01,今天是 2025-04-02,则工龄为 7 年。

🎯 年龄计算

假设在 A1 单元格中存储生日:

excel 复制代码
=DATEDIF(A1, TODAY(), "Y")

输出为:年龄(单位:年)。

🎯 项目周期计算

如果想计算项目持续了几个月,可以使用:

excel 复制代码
=DATEDIF(项目开始日期, 项目结束日期, "M")

如果要算出项目的总天数:

excel 复制代码
=DATEDIF(项目开始日期, 项目结束日期, "D")

错误与注意事项

  • 如果 start_date > end_date,Excel 会返回 #NUM! 错误。
  • DATEDIF() 是一个"隐藏函数",在 Excel 的函数提示中找不到它。
  • 如果使用时出现错误,检查日期格式或是否引用了无效的单元格。

10.📌 函数扩展与应用

  1. 获取当前时间

    excel 复制代码
    =NOW()

    返回包含日期和时间的完整时间戳(例如:2025-04-02 14:35:12)。

  2. 自动生成每月最后一天列表

    excel 复制代码
    =EOMONTH(start_date, 0)

    可以用于生成财务报表中的月度截止日期。


这些函数在数据分析中非常有用,例如生成时间序列、计算年度/季度/月度数据的汇总与对比、动态生成报表等。

11. 📚 时间函数基础概念与分类

Excel 中的时间函数可分为以下几类:

  • 日期获取函数TODAY(), NOW()
  • 日期提取函数YEAR(), MONTH(), DAY(), WEEKDAY()
  • 日期计算函数DATE(), DATEDIF(), EOMONTH(), WEEKNUM()
  • 其他函数HOUR(), MINUTE(), SECOND(), TIME(), TIMEVALUE()
相关推荐
hello_simon3 小时前
在线小白工具,PPT转PDF支持多种热门工具,支持批量转换,操作简单,高效适合各种需求
pdf·html·powerpoint·excel·pdf转html·excel转pdf格式
Tttian6226 小时前
Python办公自动化(3)对Excel的操作
开发语言·python·excel
zhuyixiangyyds8 小时前
day21和day22学习Pandas库
笔记·学习·pandas
每次的天空8 小时前
Android学习总结之算法篇四(字符串)
android·学习·算法
jingjingjing11119 小时前
笔记:docker安装(ubuntu 20.04)
笔记·docker·容器
背影疾风9 小时前
C++学习之路:指针基础
c++·学习
DreamBoy@9 小时前
【408--考研复习笔记】操作系统----知识点速览
笔记
UpUpUp……10 小时前
特殊类的设计/单例模式
开发语言·c++·笔记·单例模式
苏克贝塔10 小时前
CMake学习--Window下VSCode 中 CMake C++ 代码调试操作方法
c++·vscode·学习
odoo中国10 小时前
深度学习 Deep Learning 第15章 表示学习
人工智能·深度学习·学习·表示学习