使用 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 反馈 — 无需本地设置。
此课程中的所有课时
- 使用 TODAY 和 NOW 获取实时日期
- 使用 YEAR、MONTH、DAY 拆分日期
- 使用 DATE 和 EDATE 构建日期
- 计算日期之间的天数