跳至主要内容

Kutools for Office — 一套工具,五种功能。事半功倍。

在 Excel 中计算两个日期之间的天数(7 个示例)

Author Zhoumandy Last modified

作为 Excel 用户,您可能会遇到需要知道 Excel 中两个日期之间有多少“天”的情况。或者您想计算“今天与特定日期之间的天数”。或者您希望获取“两个日期之间的工作日天数”。本教程将介绍几种简单快速的方法来计算所有“三种场景”中两个日期之间的天数。使用减法计算两天之间的天数 使用减法 使用 Kutools 计算天数、周数... 使用 DAYS 函数 使用 DATEDIF 函数 计算今天与某日期之间的天数 计算两个日期之间的工作日 排除周末 排除周末和节假日

A screenshot showing an Excel sheet used to calculate the days between two dates

A screenshot showing an Excel sheet used to calculate the days between today and a date

A screenshot showing an Excel sheet used to calculate workdays between two dates

视频:计算日期之间的天数


计算两个日期之间的天数

假设您的“开始日期”在单元格“C2”中,“结束日期”在单元格“C3”中,您想找出这两个日期之间的天数。在本节中,我们将向您展示实现目标的“四种方法”。

doc calculate days between two dates 04

使用减法

要计算两个日期之间的天数,只需“用结束日期减去开始日期”。以下是通用公式:

=结束日期 - 开始日期
步骤 1:输入减法公式

在单元格 C6 中,应用以下公式,然后按“Enter”键。

=C3-C2
结果

如您所见,给定的两个日期之间有“180”天。

A screenshot showing the subtraction formula to calculate days between two dates in Excel

注意事项:
  1. 在 Excel 中,日期实际上是数字。例如,1/1/1900 是数字 1。这就是为什么相减日期会得到它们之间的天数。
  2. 如果结束日期早于开始日期,返回的结果将是一个“负”整数。如果您希望始终获得“正”结果,可以使用以下公式:
    =ABS(结束日期 - 开始日期)

使用 Kutools 计算日期之间的天数、周数、月数和年数

通过“Kutools for Excel”的“日期和时间助手”功能,您还可以计算日期之间的天数。更重要的是,此功能更强大,因为它提供了“更多选项”,比如计算两个日期之间的“周数”、“月数”、“年数”等。下面的截图展示了如何“逐步计算日期之间的天数”,以及您可以计算的“更多选项”。

A screenshot of Kutools' Date & Time Helper showing steps to calculate days between dates in Excel

Kutools for Excel 提供了超过 300 种高级功能,简化复杂任务,提升创造力与效率。 通过集成 AI 能力,Kutools 能够精准自动执行任务,让数据管理变得轻松简单。Kutools for Excel 的详细信息...         免费试用...

通过点击“Kutools”>“公式助手”>“日期和时间助手”启用该功能后,请按照以下步骤操作:

  1. 在“类型”部分选择“差异”;
  2. 分别在“日期1”和“日期2”文本框中选择开始日期和结束日期;
  3. 从“输出结果类型”下拉列表中选择“天”;
  4. 点击“确定”。
注意:
  1. 要应用“日期和时间助手”功能,您需要先安装“Kutools for Excel”。“Kutools for Excel”提供 30 天免费试用且无任何限制,立即下载并安装!
  2. 除了计算两个日期之间的差异外,日期和时间助手功能还支持其他日期和时间计算。要“添加日期和时间”,请在类型部分勾选“添加”选项。要根据给定日期“计算年龄”,请在类型部分勾选“年龄”选项。
    A screenshot of Kutools' Date & Time Helper feature calculating the difference between two dates
    A screenshot of Kutools' Date & Time Helper feature offering an option for age calculations

使用 DAYS 函数

另一种获取两个日期之间天数的方法是使用 DAYS 函数,该函数在 Excel 2013 中引入。通用公式如下所示:

=DAYS(结束日期, 开始日期)
步骤 1:输入 DAYS 公式

在单元格“C6”中,应用以下公式,然后按“Enter”键。

=DAYS(C3,C2)
结果

C3 和 C2 单元格中的两个日期之间有“180”天。

A screenshot showing the DAYS function in Excel to calculate the interval between two dates

注意:如果“结束日期”早于“开始日期”,返回的结果将是一个“负”整数。如果您希望始终获得“正”结果,可以使用以下公式:
=ABS(DAYS(结束日期, 开始日期))

使用 DATEDIF 函数

第四种计算两个日期之间天数的方法是使用 DATEDIF 函数。以下是计算两个日期之间天数差异的“通用公式”:

=DATEDIF(开始日期, 结束日期, "d")
步骤 1:输入 DATEDIF 公式

在单元格“C6”中,应用以下公式,然后按“Enter”键。

=DATEDIF(C2,C3,"d")
结果

给定的两个日期之间有“180”天。

A screenshot showing the DATEDIF function in Excel to calculate the number of days between two dates

注意:
  1. 与其他三种方法不同,“DATEDIF”公式不支持从较新的日期中减去较旧的日期。当“结束日期”早于“开始日期”时,将返回“#NUM!”错误。
  2. 不同于只能计算天数的减法公式和“DAYS”函数,“DATEDIF”还可以计算两个日期之间的“月数”或“年数”。
  3. “DATEDIF”未包含在 Excel 的函数列表中,这意味着它是一个“未记录”的函数。这要求您手动输入所有参数以在工作表中创建“DATEDIF”公式。

计算今天与某日期之间的天数

如果您想计算今天与特定日期之间的天数,Excel 内置的“TODAY”函数可以帮助您轻松快速地完成任务。以下是使用“TODAY”函数计算今天与另一日期之间天数的“两个通用公式”:

计算“过去日期”与“今天”之间的天数:

=TODAY() - 过去日期

计算“未来日期”与“今天”之间的天数:

=未来日期 - TODAY() 

在此情况下,您在单元格“C2”中有“未来日期”,而今天是 2023 年 3 月 15 日。您需要计算今天与该日期之间的天数,请按照以下步骤操作。

A screenshot showing a future date in Excel to calculate days using the TODAY function

步骤 1:输入公式

在单元格“C5”中,应用以下公式,然后按“Enter”键。

=C2-TODAY()

A screenshot showing the formula calculating days between today and a future date in Excel

步骤 2:将结果格式化为常规

选择结果单元格,点击“开始”选项卡,转到“数字”组,然后从“数字格式”下拉列表中选择“常规”。

A screenshot showing the Number Format option in Excel to format the result as General

注意:或者在“开始”选项卡上,点击“数字”旁边的“对话框启动器”。然后在“类别”框中点击“常规”。

结果

如您所见,今天与给定日期之间有“108”天。

A screenshot showing the result of days calculated between today and a future date in Excel

注意:“TODAY”函数将给出当前日期。因此,当特定日期固定时,您会发现工作表中返回的天数会有所不同,因为“TODAY”函数每天都会变化。


计算两个日期之间的工作日

有时,我们可能需要计算不包括周末的天数。在这里,我们将向您展示如何在两种情况下借助“NETWORKDAYS”函数计算两个日期之间的工作日。一种情况是不考虑额外假期的工作日计算。另一种情况是考虑额外假期的工作日计算。

以下是 NETWORKDAYS 函数的通用公式:

=NETWORKDAYS(开始日期, 结束日期, [假期])

排除周末

例如,您在单元格 C2 中有开始日期,在单元格 C3 中有结束日期,您想找出这两个日期之间不考虑假期的工作日天数。

A screenshot showing start and end dates in Excel for calculating working days excluding weekends

步骤 1:输入 NETWORKDAYS 公式

在单元格 C6 中,应用以下公式,然后按“Enter”键。

=NETWORKDAYS(C2,C3)
结果

您可以看到,不考虑假期的情况下,两个日期之间有“130”个工作日。

A screenshot showing the result of the NETWORKDAYS formula calculating working days excluding weekends in Excel

排除周末和假期

与上面的例子不同,您在数据范围 C5:C8 中列出了额外的假期,并且您需要计算两个日期之间的工作日天数(考虑提供的假期)。

A screenshot showing start and end dates in Excel with a list of holidays for calculating working days

步骤 1:输入 NETWORKDAYS 公式

在单元格 C6 中,应用以下公式,然后按“Enter”键。

=NETWORKDAYS(C2,C3, E3:E7)
结果

您可以看到,考虑提供的假期,两个日期之间有“125”个工作日。

A screenshot showing the result of the NETWORKDAYS formula calculating working days excluding weekends and holidays in Excel

注意:在世界大多数地方,周末是“星期六”和“星期日”。那么“NETWORKDAYS”函数正是您所需要的。但如果您的周末不是周六和周日(例如仅周日),则应使用“NETWORKDAYS.INTL”函数,该函数允许您指定哪些日子应被视为周末。

最佳Office办公效率工具

🤖 Kutools AI 助手:以智能执行为基础,彻底革新数据分析 |代码生成 |自定义公式创建|数据分析与图表生成 |调用Kutools函数……
热门功能:查找、选中项的背景色或标记重复项 | 删除空行 | 合并列或单元格且不丢失数据 | 四舍五入……
高级LOOKUP多条件VLookup|多值VLookup|多表查找|模糊查找……
高级下拉列表快速创建下拉列表 |依赖下拉列表 | 多选下拉列表……
列管理器添加指定数量的列 | 移动列 | 切换隐藏列的可见状态 | 比较区域与列……
特色功能网格聚焦 |设计视图 | 增强编辑栏 | 工作簿及工作表管理器 | 资源库(自动文本) | 日期提取 | 合并数据 | 加密/解密单元格 | 按名单发送电子邮件 | 超级筛选 | 特殊筛选(筛选粗体/倾斜/删除线等)……
15大工具集12项 文本工具添加文本删除特定字符等)|50+种 图表 类型甘特图等)|40+实用 公式基于生日计算年龄等)|19项 插入工具插入二维码从路径插入图片等)|12项 转换工具小写金额转大写汇率转换等)|7项 合并与分割工具高级合并行分割单元格等)| ……
Kutools支持多种语言——可选择英语、西班牙语、德语、法语、中文等40多种语言!

通过Kutools for Excel提升您的Excel技能,体验前所未有的高效办公。 Kutools for Excel提供300多项高级功能,助您提升效率并节省时间。 点击此处获取您最需要的功能……


Office Tab为Office带来多标签界面,让您的工作更加轻松

  • 支持在Word、Excel、PowerPoint中进行多标签编辑与阅读
  • 在同一个窗口的新标签页中打开和创建多个文档,而不是分多个窗口。
  • 可提升50%的工作效率,每天为您减少数百次鼠标点击!

所有Kutools加载项,一键安装

Kutools for Office套件包含Excel、Word、Outlook和PowerPoint的插件,以及Office Tab Pro,非常适合跨Office应用团队使用。

Excel Word Outlook Tabs PowerPoint
  • 全能套装——Excel、Word、Outlook和PowerPoint插件+Office Tab Pro
  • 单一安装包、单一授权——数分钟即可完成设置(支持MSI)
  • 协同更高效——提升Office应用间的整体工作效率
  • 30天全功能试用——无需注册,无需信用卡
  • 超高性价比——比单独购买更实惠