0Pricing
Excel Formulas Academy · 课时

使用 DATE 和 EDATE 构建日期

组装日期并按月调整日期,用于安排计划

使用 DATE 和 EDATE 构建日期 是 CoddyKit 上的免费 Excel Formulas Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Excel Formulas Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Excel Formulas Academy 课程共包含 4 节课。

反向操作

上一课中,您拆分了日期。现在,您将把它们构建起来。有时,年份、月份和日期分别以数字形式存在,您需要将它们组合成一个真正的日期。

DATE 函数正是用于此目的。当您需要将日期向前或向后移动若干整月时,EDATE 会为您处理复杂的月份长度计算。

这些是安排日程、设置到期日期以及从导入的数据片段构建日期时最常用的工具。

DATE 函数语法

DATE 函数按固定顺序接受三个参数:年、月、日。

因此,=DATE(2026, 6, 18) 会生成表示2026年6月18日的真实日期值。电子表格随后会按照您的日期格式显示它。

当数据分散到不同部分时,这一点非常重要。如果年份位于 A2,月份位于 B2,日期位于 C2,您就可以将它们组装成一个日期。

=DATE(2026,6,18)

从独立单元格构建日期

当各个部分位于不同单元格时,DATE 的实际价值就体现出来了。假设 A2 存储年份,B2 存储月份,C2 存储日期。

该公式会将它们组合成一个正确的日期,之后您可以对其排序、求差或设置格式。在导入日期被拆分到多个列中的数据后,这种做法很常见。

=DATE(A2,B2,C2)

DATE 会智能处理溢出值

这里有一个实用特性:DATE 会规范化超出范围的值。如果将月份设为 13,它会顺延到下一年。如果将日期设为 0,它会返回上个月的最后一天。

例如,=DATE(2026, 1, 0) 会返回2025年12月31日,而 =DATE(2026, 13, 1) 会返回2027年1月1日。

您可以有意利用这一点来计算某个月的最后一天,稍后您就会看到这种用法。

=DATE(2026,1,0)

查找月份末日

利用这种溢出技巧,可以得到一个实用模式:要获取某个月的最后一天,只需请求下一个月的第 0 天。

如果 A2 中存储的是任意日期,=DATE(YEAR(A2), MONTH(A2)+1, 0) 会返回 A2 所在月份的最后一天,并正确处理 28 天、29 天、30 天或 31 天的月份。

此外,还有一个专用函数 EOMONTH,可以更直接地完成同样的操作,我们将在下一节学习它。

=DATE(YEAR(A2),MONTH(A2)+1,0)

EDATE 函数

EDATE 函数可以将日期移动若干整月。它接受两个参数:开始日期和要移动的月数。

正数表示向未来移动,负数表示向过去移动。因此,=EDATE(A2, 3) 会返回 A2 之后三个月的日期,而 =EDATE(A2, -1) 会返回早一个月的日期。

在可能的情况下,它会保持月份中的日期不变,这正是月度计费所需要的功能。

=EDATE(A2,3)

为什么不直接加 30 天?

您可能会认为加上 30 就能将日期向后推一个月,但每个月的长度并不相同。1 月 31 日加上 30 天会落在 3 月初,而不是 2 月。

EDATE 理解真实的日历月份。从1月31日开始,=EDATE(A2, 1) 会返回2月28日(闰年则为 2 月 29 日),因为 2 月没有 31 日。

这就是 EDATE 适合处理月度日程的原因。

=EDATE(A2,1)

使用 EOMONTH 获取月末

与 EDATE 配套的函数是 EOMONTH,它会返回距离指定月份数的月份的最后一天。

=EOMONTH(A2, 0) 会返回 A2 所在月份的最后一天。=EOMONTH(A2, 1) 会返回下个月的最后一天。

这是查找账单结算日期或月末报告截止日期的简洁方法。

=EOMONTH(A2,0)

示例:订阅续期日期

某位客户在 A2 中的日期订阅了一个 12 个月的方案。您需要计算续期日期。

使用 EDATE 可以在遵循日历月份的前提下准确跳到一年后。如果客户在闰年的2月29日注册,EDATE 会妥善地将日期定位到下一年的2月28日。

这个简单的公式可以处理手动日期计算容易出错的所有边界情况。

=EDATE(A2,12)

深入示例:下个月的第一天

将 EOMONTH 与简单的加法结合起来,还可以解决另一个经典需求:获取下个月的第一天。

EOMONTH 会返回当前月份的最后一天,因此加上 1 天就会得到下个月的第一天。

因此,=EOMONTH(A2, 0)+1 无论当前月份有多长,都会返回下个月的第一天。这样的工具可以让日程安排公式非常可靠。

=EOMONTH(A2,0)+1

生成一系列月初日期

将 EDATE 与开始日期结合起来,即可生成完整的日程安排。在 A2 中输入开始日期,然后在下一个单元格中增加一个月,再下一个月,以此类推。

例如,=EDATE($A$2, 1)、=EDATE($A$2, 2)、=EDATE($A$2, 3) 会列出连续月份中相同的日历日期。$ 符号会锁定开始单元格,以便您向下填充公式。

这样,只需一个基准日期,就能生成整洁的月度账单或付款日期。

=EDATE($A$2,2)

快速检查

测试您构建日期的能力。

回顾:构建日期

您已经学会了如何组合和移动日期:

  • DATE(year, month, day) 可以从三个数字构建真实日期,还会规范化溢出值。
  • DATE(YEAR(d), MONTH(d)+1, 0) 利用日期为零的技巧查找月份的最后一天。
  • EDATE(date, months) 可以按完整的日历月份移动日期,并正确处理不同的月份长度。
  • EOMONTH(date, months) 返回月末日期,加上 1 天即可得到下个月的第一天。

接下来,您将计算两个日期之间的间隔。

常见问题解答

「使用 DATE 和 EDATE 构建日期」课时是免费的吗?

是的 — 「使用 DATE 和 EDATE 构建日期」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Excel Formulas Academy 课程的其余内容,请升级到 CoddyKit PRO。 Excel Formulas Academy 课程共包含 4 节课。

「使用 DATE 和 EDATE 构建日期」这节课中我会学到什么?

组装日期并按月调整日期,用于安排计划 你通过在浏览器中直接运行的动手代码来练习 Excel Formulas Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Excel Formulas Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Excel Formulas Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。

「使用 DATE 和 EDATE 构建日期」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Excel Formulas Academy 课中编写并运行代码吗?

能。每节 Excel Formulas Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 使用 TODAY 和 NOW 获取实时日期
  2. 使用 YEAR、MONTH、DAY 拆分日期
  3. 使用 DATE 和 EDATE 构建日期
  4. 计算日期之间的天数
← 返回 Excel Formulas Academy