公式和函数

计算两个日期之间的差值

计算两个日期之间的差值

注意: 我们希望能够尽快以你的语言为你提供最新的帮助内容。 本页面是自动翻译的,可能包含语法错误或不准确之处。 我们的目的是使此内容能对你有所帮助。 可以在本页面底部告诉我们此信息是否对你有帮助吗? 请在此处查看本文的英文版本以便参考。

如果要计算两个日期之间的差值, 请使用 DATEDIF 函数。 首先在单元格中放置一个开始日期, 在另一个结束日期。 然后键入一个公式, 如下所示。

警告: 我的Start_date大于End_date, 结果将是#NUM!

天的差异

= DATEDIF (D9, E9, "d"), 结果856

在此示例中, 开始日期在单元格 D9 中, 结束日期在 E9 中。 公式在 F9 中。 "D"返回两个日期之间的整天数。

周的时差

= (DATEDIF (D13, E13, "d")/7), 结果: 122.29

在此示例中, 开始日期在单元格 D13 中, 结束日期在 E13 中。 "D" 返回天数。 但请注意, 结尾处的/7 。 这将天数除以 7, 因为一周内有7天。 请注意, 此结果也需要设置为数字格式。 按 CTRL + 1。 然后单击 "数字>小数位数: 2"。

月差额

= DATEDIF (D5, E5, "m"), 结果:28

在此示例中, 开始日期在单元格 D5 中, 结束日期在 E5 中。 在公式中, "m"返回两天之间全月的天数。

年差额

= DATEDIF (D2, E2, "y"), 结果: 2

在此示例中, 开始日期在单元格 D2 中, 结束日期在 E2 中。 "Y"返回两天之间的完整年份数。

计算以累计年数、月数和天数计的年龄

您还可以计算年龄或某人的服务时间。 结果可能类似于 "2 年, 4 个月, 5 天"。

1. 使用 DATEDIF 查找总年份。

= DATEDIF (D17, E17, "y"), 结果: 2

在此示例中, 开始日期在单元格 D17 中, 结束日期在 E17 中。 在公式中, "y"返回两天之间的完整年份数。

2. 使用 "ym" 再次使用 DATEDIF 查找月份。

= DATEDIF (D17, E17, "ym"), 结果: 4

在其他单元格中, 将 DATEDIF 公式与"ym"参数一起使用。 "Ym" 返回最后一个完整年份的剩余月数。

3. 使用其他公式查找日期。

=DATEDIF(D17,E17,"md") 并且结果为:5

现在, 我们需要查找剩余天数。 我们将通过编写不同类型的公式来执行此操作, 如上所示。 此公式从单元格 E17 中的原始结束日期 (5/6/2016) 减去当月第一天 (5/1/2016)。 其原理如下:首先,DATE 函数会创建日期 5/1/2016。 DATE 函数使用单元格 E17 中的年份和单元格 E17 中的月份创建日期。 1 表示该月的第一天。 DATE 函数的结果是 5/1/2016。 然后,从单元格 E17 中的原始结束日期(即 5/6/2016)减去该日期。 5/6/2016 减 5/1/2016 得 5 天。

警告: 我们建议不要使用 DATEDIF "md" 参数, 因为它可能会计算出不准确的结果。

4. 可选: 合并其中的三个公式。

= DATEDIF (D17, E17, "y") & "年," &DATEDIF (D17, "E17") ym "月", "&" (_AMP_DATEDIF, D17, "md") E17 "days", 结果: 2 年, 4 个月, 5 天

你可以将所有三个计算放在一个单元格中, 如下例所示。 使用 "符号"、"引号" 和 "文本"。 这是一个较长的公式, 可键入, 但至少在一个中。 提示: 按 ALT + ENTER 可在公式中放置换行符。 这使其更易于阅读。 同样, 如果看不到整个公式, 请按 CTRL + SHIFT + U。

下载我们的示例

你可以使用本文中的所有示例下载示例工作簿。 你可以关注, 或者创建你自己的公式。

下载日期计算示例

其他日期和时间计算

正如您在上面看到的, DATEDIF 函数计算开始日期和结束日期之间的差异。 但是, 你也可以在公式中使用TODAY ()函数, 而不是键入特定日期。 使用 TODAY () 函数时, Excel 将使用计算机的当前日期作为日期。 请记住, 当文件在将来的某一天再次打开时, 将发生更改。

= DATEDIF (TODAY (), D28, "y"), 结果: 984

请注意, 在撰写本文时, 一天是2016年10月6日。

使用 NETWORKDAYS。国际函数, 用于计算两个日期之间工作日的数量。 您也可以让它排除周末和假期。

开始之前:确定是否要排除假日日期。 如果执行此操作, 请在单独的区域或工作表中键入假日日期列表。 将每个假日日期放在其自己的单元格中。 然后选择这些单元格, 选择 "公式_GT_定义名称"。 将区域命名为MyHolidays, 然后单击"确定"。 然后使用下面的步骤创建公式。

1. 键入 "开始日期" 和 "结束日期"。

单元格 D53 中的开始日期是 1/1/2016, 结束日期在单元格 E53 为12/31/2016

在此示例中, 开始日期在单元格 D53 中, 结束日期位于单元格 E53 中。

2. 在其他单元格中, 键入如下公式:

= NETWORKDAYS。国际 (D53, E53, 1) 和结果: 261

键入类似于上述示例的公式。 公式中的1将星期六和星期天建立为周末, 并将其从总数中排除。

注意: Excel 2007 没有 NETWORKDAYS。国际函数。 但是, 它确实有 NETWORKDAYS。 上面的示例如下所示: Excel 2007: = NETWORKDAYS (D53, E53)。 您不能指定 1, 因为 NETWORKDAYS 假定周末在星期六和星期日。

3. 如有必要, 请更改1。

显示 2-周日 (星期一) 的智能感知列表。3-星期一、星期二等

如果星期六和星期日不是周末, 则将 "1" 更改为 "智能感知" 列表中的另一个号码。 例如, 2 将星期日和星期一建立为周末日期。

如果您使用的是 Excel 2007, 请跳过此步骤。 Excel 2007 的 NETWORKDAYS 函数始终假定周末在星期六和星期日。

4. 键入假日区域名称。

= NETWORKDAYS。国际 (D53、E53、1、MyHolidays) 和结果: 252

如果在上面的 "开始之前" 部分中创建了假日区域名称, 请在结尾处键入该名称, 如下所示。 如果您没有假日, 可以保留逗号和 MyHolidays。 如果你使用的是 Excel 2007, 则上面的示例如下所示: = NETWORKDAYS (D53, E53, MyHolidays)

提示如果不想引用假日区域名称, 也可以改为键入一个区域, 如D35: E:39。 或者, 您可以在公式中键入每个节日。 例如, 如果您的假日在2016年1月1日和2日, 则应按如下方式键入: = NETWORKDAYS。国际 (D53, E53, 1, {"1/1/2016", "1/2/2016"})。 在 Excel 2007 中, 其外观如下所示: = NETWORKDAYS (D53, E53, {"1/1/2016", "1/2/2016"})

你可以通过减去另一个时间来计算已用时间。 首先在单元格中放置一个开始时间, 另一个结束时间在另一个单元格中。 请确保键入一个完整的时间, 包括小时、分钟和上午或下午的一个空格。 方法如下:

1. 键入 "开始时间" 和 "结束时间"。

7:15 AM 的开始日期/时间, 4:30 PM 的结束日期/时间

在此示例中, 开始时间在单元格 D80 中, 结束时间在 E80 中。 请确保在AM 或 PM 之前键入小时、分钟和空格。

2. 设置 h:mm AM/PM 格式。

"设置单元格格式" 对话框, 自定义命令, h:mm AM/PM 类型

选择两个日期, 然后按 CTRL + 1 (或在 Mac 上 MAC 命令按钮图标的图像 + 1)。 如果尚未设置, 请确保选择 "自定义_GT_ H:MM AM/PM"。

3. 减去两次。

= E80-D80 和结果: 9:15 AM

在另一个单元格中, 从 "结束时间" 单元格中减去 "开始时间" 单元格。

4. 设置 h:mm 格式。

"设置单元格格式" 对话框, 自定义命令, h:mm 类型

按 CTRL+1(或 Mac 上的 MAC 命令按钮图标的图像 +1)。 选择 "自定义> h:mm ", 以使结果不包括 AM 和 PM。

若要计算两个日期和时间之间的时间, 只需从另一个日期和时间中减去一个。 但是, 必须对每个单元格应用格式以确保 Excel 返回所需的结果。

1. 键入两个完整的日期和时间。

1/1/16 1:00 PM 的开始日期;1/2/16 2:00 PM 的结束日期

在一个单元格中, 键入一个完整的开始日期/时间。 在另一个单元格中, 键入一个完整的结束日期/时间。 每个单元格都应在 AM 或 PM 之前有一个月、日、年、小时、分钟和一个空格。

2. 设置 3/14/12 1:30 PM 格式。

"设置单元格格式" 对话框、"日期" 命令、3/14/12 1:30 PM 类型

选择两个单元格, 然后按 CTRL + 1 (或 Mac 上的 MAC 命令按钮图标的图像 + 1)。 然后选择 "日期_GT_ 3/14/12 1:30 PM"。 这不是您要设置的日期, 它只是格式外观的示例。 请注意, 在 Excel 2016 之前的版本中, 此格式可能具有不同的示例日期, 如 3/14/01 1:30 PM。

3. 将二者相减。

= E84-D84 和结果1.041666667

在另一个单元格中, 从结束日期/时间中减去开始日期/时间。 结果可能会类似于数字和小数。 您将在下一步中修复此问题。

4. 设置 [h]: mm 格式。

"设置单元格格式" 对话框, 自定义命令, [h]: mm 类型

按 CTRL+1(或 Mac 上的 MAC 命令按钮图标的图像 +1)。 选择“自定义”。 在 "类型" 框中, 键入[h]: mm

相关主题

DATEDIF 函数
NETWORKDAYS。国际函数
NETWORKDAYS
多个日期和时间函数
计算两个时间之间的差值

扩展你的 Office 技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×