ZetCode

Excel DAY、MONTH 和 YEAR 函数

最后修改于 2025 年 4 月 4 日

DAYMONTHYEAR 函数是 Excel 中必不可少日期函数。它们用于提取日期的特定组成部分。本教程提供了使用这些函数的全面指南。您将学习它们的语法、实际应用以及如何有效地组合它们。

函数基础

这些函数从 Excel 日期值中提取部分。DAY 返回日期中的天数,MONTH 返回月份,YEAR 返回年份。它们都接受一个日期参数。

函数 描述 语法
DAY 从日期提取天数 (1-31) =DAY(serial_number)
MONTH 从日期提取月份 (1-12) =MONTH(serial_number)
YEAR 从日期提取年份 (1900-9999) =YEAR(serial_number)

此表总结了这三个日期组件函数。所有函数都需要一个有效的 Excel 日期序列号作为输入。它们返回代表日期部分的数字值。

基本 DAY 示例

此示例演示如何从特定日期提取天数。

基本 DAY 公式
=DAY("2025-04-15")

此公式返回 15,提取了 2025 年 4 月 15 日的日期。日期可以作为文本(带引号)输入,或作为包含日期的单元格引用。

基本 MONTH 示例

此示例展示了如何从日期值中提取月份编号。

A B
2025-07-22 =MONTH(A1)

该表显示 A1 单元格中的日期以及 B1 中的 MONTH 公式,该公式提取月份编号。结果将是 7,代表七月。

带单元格引用的 MONTH
=MONTH(A1)

此公式返回 A1 单元格中日期的月份编号。当 A1 包含 2025 年 7 月 22 日时,它返回 7。这演示了使用单元格引用。

基本 YEAR 示例

此示例从单元格中存储的日期提取年份。

A B
1999-12-31 =YEAR(A1)

表中 A1 单元格包含 1999 年除夕。B1 中的 YEAR 公式提取了年份部分,返回 1999。

YEAR 函数示例
=YEAR(A1)

此公式返回 A1 中日期的年份。对于 1999 年 12 月 31 日,它返回 1999。YEAR 对于按年份分组或分析数据非常有用。

组合 DAY、MONTH、YEAR

这些函数经常被组合起来创建自定义日期格式或计算。此示例显示了一个常见的组合。

A B
2025-03-08 =DAY(A1)&"/"&MONTH(A1)&"/"&YEAR(A1)

该表演示了如何组合所有三个函数来创建日/月/年格式。和号 (&) 将组件与斜杠连接起来。

组合日期公式
=DAY(A1)&"/"&MONTH(A1)&"/"&YEAR(A1)

此公式从 A1 中的日期创建 d/m/y 格式的日期字符串。对于 2025 年 3 月 8 日,它返回“8/3/2025”。此技术对于自定义日期格式非常有用。

计算年龄

一个实际应用是从出生日期计算年龄。此示例使用 YEAR 和 TODAY 函数。

A B
1990-05-15 =YEAR(TODAY())-YEAR(A1)

该表显示 A1 中的出生日期和 B1 中的年龄计算。此简单公式通过减去出生年份与当前年份来估算年龄。

年龄计算公式
=YEAR(TODAY())-YEAR(A1)

此公式通过将出生年份减去当前年份来计算年龄。请注意,它没有考虑今年的生日是否已经过了。为了更精确,请结合 MONTHDAY 使用。

精确年龄计算

此改进的年龄计算考虑了出生月份和日期。

精确年龄公式
=YEAR(TODAY())-YEAR(A1)-IF(DATE(YEAR(TODAY()),MONTH(A1),DAY(A1))>TODAY(),1,0)

此复杂公式首先检查今年的生日是否还没有到。如果为真,它会将简单年份差减去 1。这提供了准确的年龄,考虑了出生月份/日期。

从日期提取季度

将 MONTH 与简单数学结合起来计算财年季度。

A B
2025-11-20 =CEILING(MONTH(A1)/3,1)

该表演示了从日期计算季度。公式将月份除以 3 并向上取整到最接近的整数以确定季度(1-4)。

季度计算
=CEILING(MONTH(A1)/3,1)

此公式返回 A1 中日期的季度(1-4)。对于十一月(11 月),它返回 4。CEILING 将除法结果向上取整到最接近的整数。

日期验证

这些函数通过检查组件范围来帮助验证日期。

日期验证公式
=AND(YEAR(A1)>=1900,YEAR(A1)<=2100,MONTH(A1)>=1,MONTH(A1)<=12,DAY(A1)>=1,DAY(A1)<=31)

此公式检查 A1 中的日期是否具有有效组件:年份在 1900-2100 之间,月份为 1-12,日期为 1-31。AND 仅在所有条件都满足时才返回 TRUE。

从组件创建日期

将这些函数与 DATE 结合以从各个部分重建日期。

A B
2025-08-15 =DATE(YEAR(A1),MONTH(A1)+3,DAY(A1))

该表显示通过提取组件、修改月份和重新构建日期来为日期加 3 个月。这会自动处理月份溢出。

日期操作
=DATE(YEAR(A1),MONTH(A1)+3,DAY(A1))

此公式将 A1 中的日期增加 3 个月。如果月份超过 12,DATE 会自动调整年份。对于 8 月 15 日 + 3 个月,返回同一年的 11 月 15 日。

距离生日的天数

使用这些函数计算距离下次生日的天数。

距离生日的天数
=DATE(YEAR(TODAY())+(DATE(YEAR(TODAY()),MONTH(A1),DAY(A1))<TODAY(),MONTH(A1),DAY(A1))-TODAY())

此复杂公式计算距离下次生日的天数。它会检查今年的生日是否已经过了,如果过了,则使用明年的日期。然后减去今天。

从日期获取月份名称

将 MONTH 与 TEXT 结合以获取月份名称而不是数字。

A B
2025-12-25 =TEXT(DATE(1,MONTH(A1),1),"mmmm")

该表演示了将月份编号转换为完整的月份名称。公式创建了一个带有 A1 中月份的虚拟日期,并对其进行格式化以显示名称。

月份名称公式
=TEXT(DATE(1,MONTH(A1),1),"mmmm")

此公式返回 A1 中日期的完整月份名称(“十二月”)。“mmmm”格式代码在 TEXT 函数中指定完整的月份名称。

DAYMONTHYEAR 函数是 Excel 中日期操作的强大工具。它们能够提取特定的日期组件以进行分析、格式化和计算。掌握这些函数对于在电子表格中有效处理日期至关重要。

作者

我叫 Jan Bodnar,是一名充满热情的程序员,拥有丰富的编程经验。我自 2007 年以来一直撰写编程文章。迄今为止,我已撰写了 1400 多篇文章和 8 本电子书。我在编程教学方面拥有十多年的经验。

列出 所有 Excel 公式