利用 Excel 计算事件的剩余天数
Excel 将日期视为数值。 这意味着您可以对日期进行加减运算,这对于计算距离重要日期或事件还有多少天非常有用。 本文将利用 Excel 的 DATE、YEAR、MONTH、DAY 和 TODAY 函数,向您展示如何计算距离下一个生日或其他年度活动的天数。
在 Excel 中,日期是以整数形式存储的。 默认情况下,Excel 将 1900 年 1 月 1 日表示为 “1”,此后每一天的数值都递增 1。 例如,如果您输入 “2000/01/01”,并将格式切换为“数值”,您会看到显示 “36526”。 如果从 36526 中减去 1,您可以看到 20 世纪总共有 36525 天。 此外,您可以输入一个未来的日期,然后减去 TODAY 函数的结果,以查看距离今天还有多少天。
日期相关函数快速概览
在深入探讨具体示例之前,我们需要了解几个简单的日期相关函数,包括 Excel 的 TODAY、DATE、YEAR、MONTH 和 DAY 函数。
TODAY
语法:=TODAY()
结果:返回当前日期
DATE
语法:=DATE(年, 月, 日)
结果:返回由输入的年、月、日所指定的日期
YEAR
语法:=YEAR(日期)
结果:返回输入日期中的年份
MONTH
语法:=MONTH(日期)
结果:返回输入日期中的月份数字(1 到 12)
DAY
语法:=DAY(日期)
结果:返回输入日期是当月中的第几天
计算示例
接下来,我们将分析三个每年都在同一天发生的事件,计算它们下一次发生的日期,并确定从现在到下次发生还有多少天。
这是我们的示例数据。 我们创建了四列:事件、日期、下次发生日期和剩余天数。 我们输入了随机的生日、在美国的纳税截止日期和万圣节。 生日、纪念日和某些节假日等发生在每年固定日期的事件适用于本示例。 其他节假日(如感恩节)发生在特定月份的特定工作日;本示例不包括这些类型的事件。
对于 “下次发生日期” 列,我们有两种方法可以填充数据。 您可以手动输入每个日期,但是随着时间推移,每个条目都需要手动更新。 相反,我们将编写一个 “IF” 语句公式,让 Excel 来完成这项工作。
我们先来看生日。我们已经知道下次发生的月份是 =MONTH(F3),日期是 =DAY(F3)。这很简单,但是年份呢?我们需要让 Excel 知道今年的生日是否已经过了。首先,我们需要使用以下公式计算今年生日的日期:
=DATE(YEAR(TODAY()),MONTH(F3),DAY(F3))
接下来,我们需要判断该日期是否已经过去,您可以通过将该结果与 TODAY() 进行比较来找出答案。如果现在是七月,而生日在每年九月,那么下一次生日将在今年,可以使用 =YEAR(TODAY()) 来显示年份。如果现在是十二月,而生日在每年五月,那么下一次生日将在明年,所以 =YEAR(TODAY())+1 将给出明年的年份。要确定应该使用哪个,我们可以使用 “IF” 语句:
=IF(DATE(YEAR(TODAY()),MONTH(F3),DAY(F3))>=TODAY(),YEAR(TODAY()),YEAR(TODAY())+1)
现在,我们可以将 IF 语句的结果与生日的月份和日期结合起来,确定下次发生的时间。在单元格 G3 中输入此公式:
=DATE(IF(DATE(YEAR(TODAY()),MONTH(F3),DAY(F3))>=TODAY(),YEAR(TODAY()),YEAR(TODAY())+1),MONTH(F3),DAY(F3))
=TODAY(),YEAR(TODAY()),YEAR(TODAY())+1),MONTH(F3),DAY(F3))” 进入单元格 F3′ width=”650″ height=”250″ onload=” pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);” onerror=”this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);”>
按 Enter 键查看结果。(这篇文章写于 2019 年 1 月下旬,所以日期会过时。)
通过选中单元格并按 Ctrl+D 将此公式向下填充到下面的单元格中。
现在,我们可以通过从刚刚计算的 “下次发生日期” 中减去 TODAY() 函数的结果,轻松确定下次发生前的天数。在单元格 H3 中输入以下公式:
=G3-TODAY()
按 Enter 键查看结果,然后通过选中单元格并按 Ctrl+D 将此公式向下填充到下面的单元格中。
您可以保存此示例工作簿,以跟踪下一个生日是谁或了解您还有多少天来准备万圣节服装。每次使用工作簿时,它都会根据当前日期重新计算结果,因为您使用了 TODAY() 函数。
这些都是非常具体的例子,它们可能对您有用,也可能没用。 但是,它们说明了您可以在 Excel 中使用日期相关函数执行哪些操作。