【发布时间】:2017-01-16 17:12:16
【问题描述】:
我正在尝试从特定输入日期计算 12 个月前的日期。
例子:
在单元格A5 中,用户输入日期(dd/mm/yyyy),在单元格A7 中,我有以下公式:
=MONTH(A5)-12
但是这个公式不起作用,我不知道如何获得 12 个月前的日期。在 cmets 上发布任何问题。
【问题讨论】:
标签: excel date excel-formula
我正在尝试从特定输入日期计算 12 个月前的日期。
例子:
在单元格A5 中,用户输入日期(dd/mm/yyyy),在单元格A7 中,我有以下公式:
=MONTH(A5)-12
但是这个公式不起作用,我不知道如何获得 12 个月前的日期。在 cmets 上发布任何问题。
【问题讨论】:
标签: excel date excel-formula
你可以这样做:
=DATE(YEAR(A5),MONTH(A5)-12,DAY(A5))
或者因为 12 个月就是一年:
=DATE(YEAR(A5)-1,MONTH(A5),DAY(A5))
【讨论】:
DateDiff。
DateAdd 实际上,但有趣的是知道 excel 具有隐藏功能。
根据this Microsoft documentation,最好的方法是使用EDATE function。
=EDATE(A5, -12)
(然后将单元格格式化为日期)
请注意,这种方法与Scott recommended 之间存在一些差异。特别是,如果您的原始值是闰日(2 月 29 日),那么减去 12 个月将落入没有闰日的年份。 Scott 的方法将在 3 月 1 日返回,EDATE 函数将在 2 月 28 日到达。
在接近长月的末尾添加/减去任意月数时,可以看到同样的情况。例如,使用 EDATE 方法将一个月添加到 3 月 31 日应该得到 4 月 30 日,但在向日期部分添加值时会得到 5 月 1 日。
【讨论】: