跳到主要内容

Excel 教程:日期时间计算(计算差异、年龄、加/减)

在 Excel 中,日期时间计算经常被使用,例如计算两个日期/时间之间的差异、加减日期时间、根据出生日期获取年龄等等。 在本教程中,它列出了有关日期时间计算的几乎场景,并为您提供了相关方法。

本教程的导航

1.计算两个日期/时间之间的差异

1.1 计算两个日期之间的日/月/年差

1.11 以天/月/年/周计算两个日期之间的差异

1.12 计算月份忽略两个日期之间的年和日

1.13 计算天数忽略两个日期之间的年月

1.14 计算两个日期之间的差异并返回年月日

1.15 计算日期和今天之间的差异

1.16 计算两个日期之间有或没有假期的工作日

1.17 计算两个日期之间的周末

1.18 计算两个日期之间的特定工作日

1.19 计算月/年剩余天数

1.2 计算两次之差

1.21 计算两次之差

1.22 以小时/分钟/秒计算两次之间的差异

1.23 只计算两次之间的小时差(不超过24小时)

1.24 只计算两次之间的分钟差(不超过60分钟)

1.25 只计算两次之间的秒差(不超过60秒)

1.26 计算两次之差并返回时分秒

1.27 计算两个日期时间之间的差异

1.28 以毫秒计算时间差

1.29 计算两个日期之间的工作时间,不包括周末

1.3 使用 Kutools for Excel 计算两个日期时间之间的差异

1.31 通过 Data & Time Helper 计算两个日期时间之间的差异

1.32 通过公式助手计算两个日期时间之间的周末/工作日/特定工作日差异

1.4 如果为空,合并两列

1.41 使用 IF 函数

1.42 使用 VBA

2. 加减日期和时间

2.1 添加或减去日期/月/年/周/工作日

2.11 给日期加或减天数

2.12 给日期加上或减去月份

2.13 给日期加上或减去年份

2.14 给日期加上或减去星期

2.15 加减工作日,包括或不包括节假日

2.16 给日期加或减特定的年、月、日

2.2 在时间上加或减小时/分钟/秒

2.21 给日期时间加或减小时/分钟/秒

2.22 24 小时内的总和

2.23 将工作时间添加到不包括周末和节假日的日期

2.3 通过Kutools for Excel添加或减去日期/时间

2.4扩展

2.41 检查或突出显示日期是否已过期

2.42 返回当前月末/下个月第一天

3.计算年龄

3.1 根据日期计算年龄

3.11 根据给定的生日计算年龄

3.12 根据给定的生日,以年、月、日格式计算年龄

3.13 按 1 年 1 月 1900 日之前的出生日期计算年龄

3.2 使用Kutools for Excel按出生计算年龄

3.3 根据序列号计算年龄或获取生日

3.31 从身份证号码获取生日

3.32 根据身份证号码计算年龄

 

在本教程中,我创建了一些示例来解释这些方法,您可以在使用以下 VBA 代码或公式时更改您需要的引用


1.计算两个日期/时间之间的差异

计算两个日期或两次之间的差异可能是您在日常 Excel 工作中遇到的最常见的日期时间计算问题。 以下提供的示例可以帮助您在遇到相同问题时提高效率。

1.1 计算两个日期之间的日/月/年差

1.11 以天/月/年/周计算两个日期之间的差异

Excel DATEDIF 函数可用于快速计算以天、月、年和周为单位的两个日期之间的差异。
doc计算两个日期之间的差异1

点击了解更多详情 达蒂夫 功能

两个日期之间的天数差

DATEDIF(开始日期,结束日期,“d”)

要获取单元格 A2 和 B2 中两个日期之间的天数差异,请使用以下公式

=DATEDIF(A2,B2,"d")

媒体 输入 获得结果的关键。
doc计算两个日期之间的差异1

两个日期之间的月差

DDATEDIF(开始日期,结束日期,“m”)

要获取单元格 A5 和 B5 中两个日期之间的月份差,请使用以下公式

=DATEDIF(A5,B5,"m")

媒体 输入 获得结果的关键。
doc计算两个日期之间的差异1

两个日期之间的年差

DDATADIF(开始日期,结束日期,“y”)

要获取单元格 A8 和 B8 中两个日期之间的年份差,请使用以下公式

=DATEDIF(A8,B8,"y")

媒体 输入 获得结果的关键。
doc计算两个日期之间的差异1

两个日期之间的周差

DDATEDIF(start_date,end_date,"d")/7

要获取单元格 A11 和 B11 中两个日期之间的周差,请使用以下公式

=DATEDIF(A11,B11,"d")/7

媒体 输入 获得结果的关键。
doc计算两个日期之间的差异1

请注意:

1)当您使用上面的公式获取周差时,它可能会返回日期格式的结果,您需要根据需要将结果格式化为通用或数字。

2)当你使用上面的公式得到周差时,它可能会返回一个十进制数,如果你想得到整数周数,你可以在前面添加ROUNDDOWN函数,如下图所示得到整数周差:

=ROUNDDOWN(DATEDIF(A11,B11,"d")/7,0)

1.12 计算月份忽略两个日期之间的年和日

如果您只想计算月差而忽略两个日期之间的年份和天数,如下图所示,这里有一个可以帮助您的公式。

=DATEDIF(A2,B2,"ym")

媒体 输入 获得结果的关键。
doc计算两个日期之间的差异1

A2 是开始日期,B2 是结束日期。

1.13 计算天数忽略两个日期之间的年月

如果您只想计算忽略两个日期之间的年份和月份的天数差异,如下图所示,这里有一个可以帮助您的公式。

=DATEDIF(A5,B5,"md")

媒体 输入 获得结果的关键。
doc计算两个日期之间的差异1

A5 是开始日期,B5 是结束日期。

1.14 计算两个日期之间的差异并返回年月日

如果您想获取两个日期之间的差异并返回 xx 年、xx 个月和 xx 天,如下面的屏幕截图所示,这里还提供了一个公式。

=DATEDIF(A8, B8, "y") &" years, "&DATEDIF(A8, B8, "ym") &" months, " &DATEDIF(A8, B8, "md") &" days"

媒体 输入 获得结果的关键。
doc计算两个日期之间的差异1

A8 是开始日期,B8 是结束日期。

1.15 计算日期和今天之间的差异

要自动计算日期与今天之间的差异,只需将上述公式中的 end_date 更改为 TODAY()。 这里以计算过去日期和今天的天数差为例。
doc计算两个日期之间的差异1

=DATEDIF(A11,TODAY(),"d")

媒体 输入 获得结果的关键。

备注:如果要计算未来日期和今天之间的差异,请将 start_date 更改为今天,并将未来日期作为 end_date,如下所示:

=DATEDIF(TODAY(),A14,"d")
doc calculate difference between two dates 1

注意 DATEDIF 函数中 start_date 必须小于 end_date,否则会返回 #NUM! 错误值。

1.16 计算两个日期之间有或没有假期的工作日

有时,您可能需要计算两个给定日期之间有或没有假期的工作日数。
doc计算两个日期之间的差异1

在本部分中,您将使用 NETWORKDAYS.INTL 函数:

NETWORKDAYS.INTL(开始日期,结束日期,[周末],[假日])

点击 国际网络日 了解它的论点和用法。

计算工作日和假期

要计算单元格 A2 和 B2 中两个日期之间的假期工作日,请使用以下公式:

=NETWORKDAYS.INTL(A2,B2)

媒体 输入 获得结果的关键。
doc计算两个日期之间的差异1

计算没有假期的工作日

要计算单元格 A2 和 B2 中两个日期之间有假期的工作日,并且不包括 D5:D9 范围内的假期,请使用以下公式:

=NETWORKDAYS.INTL(A5,B5,1,D5:D9)

媒体 输入 获得结果的关键。
doc计算两个日期之间的差异1

请注意:

在上述公式中,他们以周六和周日为周末,如果您有不同的周末,请根据需要更改参数 [weekend]。
doc计算两个日期之间的差异1

1.17 计算两个日期之间的周末

如果您想计算两个日期之间的周末数,SUMPRODUCT 或 SUM 函数可以帮到您。

SUMPRODUCT(--(WEEKDAY(ROW(INDIRECT(start_date&":"&end_date)),2)>5))
SUM(INT((工作日(开始日期-{1,7})+结束日期-开始+日期)/7))

要计算单元格 A12 和 B12 中两个日期之间的周末(星期六和星期日):

=SUMPRODUCT(--(WEEKDAY(ROW(INDIRECT(A12&":"&B12)),2)>5))

Or

=SUM(INT((WEEKDAY(A12-{1,7})+B12-A12)/7))

媒体 输入 获得结果的关键。
doc计算两个日期之间的差异1

1.18 计算两个日期之间的特定工作日

要计算特定工作日的数量,例如两个日期之间的星期一,INT 和 WEEKDAY 函数的组合可以帮助您。

INT((WEEKDAY(开始日期-工作日)-开始日期+结束日期)/7)

单元格 A15 和 B15 是您想要计算星期一之间的两个日期,请使用公式如下:

=INT((WEEKDAY(A15- 2)-A15 +B15)/7)

媒体 输入 获得结果的关键。
doc计算两个日期之间的差异1

更改 WEEKDAY 函数中的工作日数以计算不同的工作日:

1 是星期日,2 是星期一,3 是星期二,4 是星期三,5 是星期四,6 是星期五,7 是星期六)

1.19 计算月/年剩余天数

有时,您可能想根据提供的日期了解月份或年份的剩余天数,如下面的屏幕截图所示:
doc计算两个日期之间的差异1

获取当月剩余天数

EOMONTH(date,0)-日期

点击 EOMONTH 知道论据和用法。

要在单元格 A2 中获取当前月份的剩余天数,请使用以下公式:

=EOMONTH(A2,0)-A2

媒体 输入 键,然后拖动自动填充手柄以将此公式应用于其他单元格(如果需要)。
doc计算两个日期之间的差异1

提示: 结果可能显示为日期格式,只需将它们更改为一般格式或数字格式即可。

获取当年剩余天数

DATE(YEAR(date),12,31)-日期

要在单元格 A2 中获取当年的剩余天数,请使用以下公式:

=DATE(YEAR(A2),12,31)-A2

媒体 输入 键,然后拖动自动填充手柄以将此公式应用于其他单元格(如果需要)。
doc计算两个日期之间的差异1


1.2 计算两次之差

1.21 计算两次之差

要获得两次之间的差异,这里有两个可以帮助您的简单公式。

结束时间-开始时间
TEXT(end_time-first_time,"time_format")

假设在单元格 A2 和 B2 中分别包含 start_time 和 end_time,使用如下公式:

=B2-A2

=TEXT(B2-A2,"hh:mm:ss")

媒体 输入 获得结果的关键。
doc计算两个日期之间的差异1

请注意:

  • 如果您使用 end_time-start_time,您可以在“格式化单元格”对话框中根据需要将结果格式化为另一种时间格式。
  • 如果使用 TEXT(end_time-first_time,"time_format"),请输入您希望公式显示的结果的时间格式,例如 TEXT(end_time-first_time,"h") 返回 16。
  • 如果 end_time 小于 start_time,则两个公式都返回错误值。 为了解决这个问题,可以在这些公式前面加上ABS,例如ABS(B2-A2)、ABS(TEXT(B2-A2,"hh:mm:ss")),然后将结果格式化为时间。

1.22 以小时/分钟/秒计算两次之间的差异

如果您想像下面的屏幕截图所示以小时、分钟或秒为单位计算两次之间的差异,请按照此部分操作。
doc计算两个日期之间的差异1

获取两次之间的小时差

INT((结束时间-开始时间)*24)

要获得 A5 和 B5 中两次之间的小时差,请使用以下公式:

=INT((B5-A5)*24)

媒体 输入 键,然后将时间格式结果格式化为一般或数字。
doc计算两个日期之间的差异1

如果要获取小数小时差,请使用 (end_time-start_time)*24。

获取两次之间的分钟差

INT((结束时间-开始时间)*1440)

要获得 A8 和 B8 中两次之间的分钟差,请使用以下公式:

=INT((B8-A8)*1440)

媒体 输入 键,然后将时间格式结果格式化为一般或数字。
doc计算两个日期之间的差异1

如果要获取小数分钟差,请使用 (end_time-start_time)*1440。

获取两次之间的秒差

(结束时间-开始时间)*86400

要获得 A5 和 B5 中两次之间的秒差,请使用以下公式:

=(B11-A11)*86400)

媒体 输入 键,然后将时间格式结果格式化为一般或数字。
doc计算两个日期之间的差异1

1.23 只计算两次之间的小时差(不超过24小时)

如果两次之间的时间差不超过 24 小时,HOUR 函数可以快速获取这两次之间的小时差。

点击 小时 有关此功能的更多详细信息。

要获取单元格 A14 和 B14 中时间之间的小时差,请使用 HOUR 函数,如下所示:

=HOUR(B14-A14)

媒体 输入 获得结果的关键。
doc计算两个日期之间的差异1

start_time 必须小于 end_time,否则,公式返回 #NUM! 错误值。

1.24 只计算两次之间的分钟差(不超过60分钟)

MINUTE 函数可以快速获取这两个时间之间的唯一分钟差,而忽略小时和秒。

点击 MINUTE 有关此功能的更多详细信息。

要仅获取单元格 A17 和 B17 中时间之间的分钟差,请使用 MINUTE 函数,如下所示:

=MINUTE(B17-A17)

媒体 输入 获得结果的关键。
doc计算两个日期之间的差异1

start_time 必须小于 end_time,否则,公式返回 #NUM! 错误值。

1.25 只计算两次之间的秒差(不超过60秒)

SECOND 函数可以快速获取这两个时间之间的唯一秒差,而忽略小时和分钟。

点击 第二 有关此功能的更多详细信息。

要仅获取单元格 A20 和 B20 中时间之间的秒差,请使用 SECOND 函数,如下所示:

=SECOND(B20-A20)

媒体 输入 获得结果的关键。
doc计算两个日期之间的差异1

start_time 必须小于 end_time,否则,公式返回 #NUM! 错误值。

1.26 计算两次之差并返回时分秒

如果您想将两个时间之间的差异显示为 xx 小时 xx 分钟 xx 秒,请使用如下所示的 TEXT 函数:

TEXT(end_time-start_time,"h"" 小时 ""m"" 分钟 ""s"" 秒""")

点击 文字 来实现这个函数的参数和用法。

要计算单元格 A23 和 B23 中的时间差,请使用以下公式:

=TEXT(B23-A23,"h"" hours ""m"" minutes ""s"" seconds""").

媒体 输入 获得结果的关键。
doc计算两个日期之间的差异1

请注意:

这个公式也只计算不超过24小时的小时差,并且end_time必须大于start_time,否则返回#VALUE! 错误值。

1.27 计算两个日期时间之间的差异

如果 mm/dd/yyyy hh:mm:ss 格式有两次,要计算它们之间的差异,您可以根据需要使用以下公式之一。

获取两个日期时间之间的时间差并以 hh:mm:ss 格式返回结果

以单元格 A2 和 B2 中的两个日期时间为例,请使用公式如下:

=B2-A2

媒体 输入 键,以日期时间格式返回结果,然后将此结果格式化为 [h]:mm:ss 在自定义类别下 联系电话 选项​​卡 单元格格式 对话。
doc计算两个日期之间的差异1 doc计算两个日期之间的差异1

获取两个日期时间之间的差异并返回天、小时、分钟、秒

以单元格 A5 和 B5 中的两个日期时间为例,请使用公式如下:

=INT(B5-A5) & " Days, " & HOUR(B5-A5) & " Hours, " & MINUTE(B5-A5) & " Minutes, " & SECOND(B5-A5) & " Seconds "

媒体 输入 获得结果的关键。
doc计算两个日期之间的差异1

注意:在这两个公式中,end_datetime 必须大于 start_datetime,否则,公式会返回错误值。

1.28 以毫秒计算时间差

首先,您需要知道如何格式化单元格以显示毫秒:

选择要显示毫秒的单元格,然后右键选择 单元格格式 使之成为可能 单元格格式 对话框中选择 定制版 ,在 产品分类 在数字选项卡下列出,然后键入 hh:mm:ss.000 进入文本框。
doc计算两个日期之间的差异1

使用公式:

ABS(结束时间-开始时间)

这里要计算单元格 A8 和 B8 中两次之间的差,使用公式如下:

=ABS(B8-A8)

媒体 输入 获得结果的关键。
doc计算两个日期之间的差异1

1.29 计算两个日期之间的工作时间,不包括周末

有时,您可能需要计算两个日期之间的工作时间,不包括周末(周六和周日)。

NETWORKDAYS(开始日期,结束日期)* working_hours

这里的工作时间固定为每天 8 小时,要计算单元格 A16 和 B16 中提供的两个日期之间的工作时间,请使用以下公式:

=NETWORKDAYS(A16,B16) * 8

媒体 输入 键,然后将结果格式化为一般或数字。
doc计算两个日期之间的差异1

有关计算两个日期之间的工作时间的更多示例,请访问 在Excel中获取两个日期之间的工作时间


1.3 使用 Kutools for Excel 计算两个日期时间之间的差异

如果你有 Kutools for Excel 安装在 Excel 中,无需记住任何公式即可快速解决 90% 的日期时间差计算。

1.31 通过 Data & Time Helper 计算两个日期时间之间的差异

要在 Excel 中计算两个日期时间之间的差异,只需 日期和时间助手 足够。
doc计算两个日期之间的差异1

1. 选择放置计算结果的单元格,然后单击 库工具 > 公式助手 > 日期和时间助手.
doc计算两个日期之间的差异1

2.在弹出 日期和时间助手 对话框,请遵循以下设置:

  1. 单向阀 区别 选项;
  2. 在中选择开始日期时间和结束日期时间 参数输入 部分,您也可以直接在输入框中手动输入日期时间,或点击日历图标选择日期;
  3. 从下拉列表中选择输出结果类型;
  4. 预览结果 结果 部分。

doc计算两个日期之间的差异1

3。 点击 Ok. 输出计算结果,并将自动填充手柄拖到您还需要计算的单元格上。

提示:

如果您想使用 Kutools for Excel 获取两个日期时间之间的差异并将结果显示为天,小时和分钟,请执行以下操作:

选择要放置结果的单元格,然后单击 库工具 > 公式助手 > 日期及时间 > 计算两个日期之间的天数、小时数和分钟数.
doc计算两个日期之间的差异1

然后在 公式助手 对话框,指定开始日期和结束日期,然后单击 Ok.
doc计算两个日期之间的差异1

差异结果将显示为天、小时和分钟。
doc计算两个日期之间的差异1

点击 日期和时间助手 了解此功能的更多用法。

点击 Kutools for Excel 了解此加载项的所有功能。

点击 免费下载 获得 Kutools for Excel 30 天免费试用

1.32 通过公式助手计算两个日期时间之间的周末/工作日/特定工作日差异

如果您想快速计算两个日期时间之间的周末,工作日或特定工作日,Kutools for Excel's 公式助手 小组可以帮助你。
doc计算两个日期之间的差异1

1. 选择要放置计算结果的单元格,点击 库工具 > 统计 > 两个日期之间的非工作天数/两个日期之间的工作天数/计算一周中特定日期的数量.
doc计算两个日期之间的差异1

2.在弹出 公式助手 对话框,指定开始日期和结束日期,如果您申请 计算一周中特定日期的数量,您还需要指定工作日。

计算具体的工作日,可以参考注释用1-7表示周日-周六。
doc计算两个日期之间的差异1
doc计算两个日期之间的差异1

3。 点击 Ok,然后将自动填充手柄拖到需要计算周末/工作日/特定工作日数量的单元格上(如果需要)。

点击 Kutools for Excel 了解此加载项的所有功能。

点击 免费下载 获得 Kutools for Excel 30 天免费试用


2. 加减日期和时间

除了计算两个日期时间之间的差异外,加减法也是Excel中正常的日期时间计算。 例如,您可能希望根据产品的生产日期和保存天数来获取到期日期。

2.1 添加或减去日期/月/年/周/工作日

2.11 给日期加或减天数

要为日期添加或减去特定天数,这里有两种不同的方法。

假设在单元格 A21 中添加 2 天,请选择以下方法之一来解决它,

方法 1 日期+天数

选择一个单元格并输入公式:

=A+21

媒体 输入 获得结果的关键。
doc计算两个日期之间的差异1

如果要减去 21 天,则将加号 (+) 更改为减号 (-)。

方法 2 选择性粘贴

1. 在单元格 C2 中输入要添加的天数,然后按 按Ctrl + C 复制它。
doc计算两个日期之间的差异1

2. 然后选择要添加 21 天的日期,右键单击以显示上下文菜单,然后选择 特殊粘贴....
doc计算两个日期之间的差异1

3.在 选择性粘贴 对话框,检查 地址 选项(如果要减去天数,请检查 减去 选项)。 点击 OK.
doc计算两个日期之间的差异1

4. 现在原来的日期变成了 5 位数字,把它们格式化为日期。
doc计算两个日期之间的差异1

2.12 给日期加上或减去月份

要为日期添加或减去月份,可以使用 EDATE 函数。

EDATE(日期,月份)

点击 EDATE 来研究它的论据和用法。

假设将单元格 A6 中的日期添加 2 个月,使用公式如下:

=EDATE(A2,6)

媒体 输入 获得结果的关键。
doc计算两个日期之间的差异1

如果要从日期减去 6 个月,请将 6 更改为 -6。

2.13 给日期加上或减去年份

要在日期上加上或减去 n 年,可以使用结合了 DATE、YEAR、MONTH 和 DAY 函数的公式。

日期(年(日期)+ 年,月(日期),日(日期))

假设将单元格 A3 中的日期添加 2 年,请使用以下公式:

=DATE(YEAR(A2) + 3, MONTH(A2),DAY(A2))

媒体 输入 获得结果的关键。
doc计算两个日期之间的差异1

如果要从日期减去 3 年,请将 3 更改为 -3。

2.14 给日期加上或减去星期

给一个日期加上或减去星期,一般公式是

日期+星期*7

假设将单元格 A4 中的日期添加 2 周,请使用以下公式:

=A2+4*7

媒体 输入 获得结果的关键。
doc计算两个日期之间的差异1

如果要从日期减去 4 周,请将加号 (+) 更改为减号 (-)。

2.15 加减工作日,包括或不包括节假日

在本节中,它介绍了如何使用 WORKDAY 函数在给定日期加上或减去工作日,不包括节假日或包括节假日。

工作日(日期,天,[节假日])

参观 WORKDAY 了解有关其论点和用法的更多详细信息。

添加工作日,包括假期

在单元格 A2 中是您使用的日期,在单元格 B2 中包含您要添加的天数,请使用以下公式:

=WORKDAY(A2,B2)

媒体 输入 获得结果的关键。
doc计算两个日期之间的差异1

添加不包括节假日的工作日

在单元格 A5 中是您使用的日期,在单元格 B5 中包含您要添加的天数,在 D5:D8 范围内列出假期,请使用以下公式:

=WORKDAY(A5,B5,D5:D8)

媒体 输入 获得结果的关键。
doc计算两个日期之间的差异1

请注意:

WORKDAY函数以周六和周日为周末,如果你的周末是周六和周日,你可以应用WOKRDAY.INTL函数,它支持指定周末。
doc计算两个日期之间的差异1
doc计算两个日期之间的差异1

参观 工作日 以获得更多细节。

如果要将工作日减去某个日期,只需将公式中的天数更改为负数即可。

2.16 给日期加或减特定的年、月、日

如果您想在日期中添加特定的年月日,结合 DATE、YEAR、MONTH 和 DAYS 函数的公式可以帮到您。

DATE(YEAR(日期) + 年,MONTH(日期) + 月,DAY(日期) + 天)

要将 A1 中的日期添加 2 年 30 个月零 11 天,请使用以下公式:

=DATE(YEAR(A11)+1,MONTH(A11)+2,DAY(A11)+30)

媒体 输入 获得结果的关键。
doc计算两个日期之间的差异1

如果要减去,请将所有加号 (+) 更改为减号 (-)。


2.2 时间加或减小时/分钟/秒

2.21 给日期时间加或减小时/分钟/秒

此处提供了一些用于在日期时间中添加或减去小时、分钟或秒的公式。
doc计算两个日期之间的差异1

在日期时间上加或减小时

日期时间+小时/24

假设在单元格 A3 中的日期时间(也可以是时间)加上 2 小时,请使用以下公式:

=A2+3/24

媒体 输入 获得结果的关键。
doc计算两个日期之间的差异1

在日期时间上加或减小时

日期时间+分钟/1440

假设在单元格 A15 中的日期时间(也可以是时间)加上 5 分钟,请使用以下公式:

=A2+15/1440

媒体 输入 获得结果的关键。
doc计算两个日期之间的差异1

在日期时间上加或减小时

日期时间+秒/86400

假设在单元格 A20 的日期时间(也可以是时间)上加上 8 秒,请使用以下公式:

=A2+20/86400

媒体 输入 获得结果的关键。
doc计算两个日期之间的差异1

2.22 24 小时内的总和

假设有一个 Excel 表格记录了所有员工一周的工作时间,为了计算工资的总工作时间,你可以使用 总和(范围) 得到结果。 但一般情况下,总和结果将显示为不超过 24 小时的时间,如下图所示,您如何才能得到正确的结果?
doc计算两个日期之间的差异1

实际上,您只需要将结果格式化为 [时]:分:秒.

右键单击结果单元格,选择 单元格格式 在上下文菜单中,并在弹出 单元格格式 对话框中,选择 定制版 从 blist 中,然后键入 [时]:分:秒 进入右侧部分的文本框,单击 OK.
doc计算两个日期之间的差异1  doc计算两个日期之间的差异1

总和的结果将正确显示。
doc计算两个日期之间的差异1

2.23 将工作时间添加到不包括周末和节假日的日期

此处提供了一个长公式,用于根据将特定工作时间数添加到开始日期并排除周末(周六和周日)和节假日来获取结束日期。

在 Excel 表格中,A11 包含开始日期时间,B11 包含工作时间,单元格 E11 和 E13 是工作开始和结束时间,单元格 E15 包含将被排除的假期。
doc计算两个日期之间的差异1

请使用以下公式:

=WORKDAY(A11,INT(B11/8)+IF(TIME(HOUR(A11),MINUTE(A11),SECOND(A11))+TIME(MOD(B11,8),MOD(MOD(B11,8),1)*60,0)> $E$13,1,0),$E$15)+IF(TIME(HOUR(A11),MINUTE(A11),SECOND(A11))+TIME(MOD(B11,8),MOD(MOD(B11,8),1)*60,0)>$E$13,$E$11 +TIME(HOUR(A11),MINUTE(A11),SECOND(A11))+TIME(MOD(B11,8),MOD(MOD(B11,8),1)*60,0)-$E$13,TIME(HOUR(A11),MINUTE(A11),SECOND(A11)) +TIME(MOD(B11,8),MOD(MOD(B11,8),1)*60,0))

媒体 输入 获得结果的关键。
doc计算两个日期之间的差异1


2.3 通过Kutools for Excel添加或减去日期/时间

如果您安装了 Kutools for Excel,则只有一个工具 – 日期和时间帮助r 可以解决大多数加减日期时间的计算。
doc计算两个日期之间的差异1

1. 单击要输出结果的单元格,然后通过单击应用此工具 库工具 > 公式助手 > 日期和时间助手。
doc计算两个日期之间的差异1

2.在 日期和时间助手 对话框,检查 地址 选项或 减去 根据需要选择选项,然后选择单元格或直接键入要使用的日期时间 参数输入 部分,然后指定要添加或减去的年、月、周、日、小时、分钟和秒,然后单击 Ok。 看截图:

您可以在 结果 部分。
doc计算两个日期之间的差异1

现在结果输出了,将自动手柄拖到其他单元格上以获得结果。
doc计算两个日期之间的差异1

点击 日期和时间助手 了解此功能的更多用法。

点击 Kutools for Excel 了解此加载项的所有功能。

点击 费用下载 获得 Kutools for Excel 30 天免费试用


2.4扩展

2.41 检查或突出显示日期是否已过期

如果有产品过期日期列表,您可能需要检查并突出显示基于今天的过期日期,如下面的屏幕截图所示。
doc计算两个日期之间的差异1

实际上, 条件格式 可以迅速处理这项工作。

1. 选择您要查看的日期,然后单击 主页 > 条件格式 > 新规则.
doc计算两个日期之间的差异1

2.在 新格式规则 对话框中选择 使用公式来确定要格式化的单元格 ,在 选择规则类型 部分和类型 =B2 进入输入框(B2是您要检查的第一个日期),然后单击 格式 弹出 单元格格式 对话框,然后根据需要选择不同的格式以突出过期日期。 点击 OK > OK.
doc计算两个日期之间的差异1  doc计算两个日期之间的差异1

2.42 返回当前月末/下个月第一天/a>

部分产品的保质期是在生产月末或下个月的第一天,如需根据生产日期快速列出保质期,请按此部分操作。

获取当前月末

EOMONTH(日期,0)

这是 B13 单元格中的生产日期,请使用以下公式:

=EOMONTH(B13,0)

媒体 输入 获得结果的关键。
doc计算两个日期之间的差异1

获取下个月的第一天

EOMONTH(日期,0)+1

这是 B18 单元格中的生产日期,请使用以下公式:

=EOMONTH(B18,0)+1

媒体 输入 获得结果的关键。
doc计算两个日期之间的差异1


3.计算年龄

在本节中,它列出了解决如何根据给定日期或序列号计算年龄的方法。


3.1 根据日期计算年龄

3.11 根据给定的生日计算年龄

doc计算两个日期之间的差异1

根据生日获取十进制数的年龄

YEARFRAC(生日,今天())

点击 YEARFRAC 有关其论点和用法的详细信息。

例如,要根据 B2:B9 列中的生日列表获取年龄,请使用以下公式:

=YEARFRAC(B2,TODAY())

媒体 输入 键,然后向下拖动自动填充手柄,直到计算出所有年龄。
doc计算两个日期之间的差异1

提示:

1)您可以根据需要指定小数位 单元格格式 对话。
doc计算两个日期之间的差异1

2) 如果要根据给定的生日计算特定日期的年龄,请将 TODAY() 更改为用双引号括起来的特定日期,例如 =YEARFRAC(B2,"1/1/2021")

3)如果要根据生日得到下一年的年龄,只需在公式中加1,例如=YEARFRAC(B2,TODAY())+1。

根据生日获取整数年龄

DATEDIF(生日,今天(),“y”)

点击 达蒂夫 有关其论点和用法的详细信息。

使用上面的示例,要根据 B2:B9 列表中的生日获取年龄,请使用以下公式:

=DATEDIF(B2,TODAY(),"y")

媒体 输入 键,然后向下拖动自动填充手柄,直到计算出所有年龄。
doc计算两个日期之间的差异1

提示:

1) 如果要根据给定的生日计算特定日期的年龄,请将 TODAY() 更改为用双引号括起来的特定日期,例如 =DATEDIF(B2,"1/1/2021","y") .

2)如果要根据生日得到下一年的年龄,只需在公式中加1,例如=DATEDIF(B2,TODAY(),"y")+1。

3.12 根据给定的生日,以年、月、日格式计算年龄

如果您想根据给定的生日计算年龄,并将结果显示为 xx 年、xx 个月、xx 天,如下图所示,这里有一个可以帮助您的长公式。
doc计算两个日期之间的差异1

=DATEDIF(birthdate,TODAY(),"Y")&" 年, "&DATEDIF(birthdate,TODAY(),"YM")&" 月, "&DATEDIF(birthdate,TODAY(),"MD")&" 天"

要根据单元格 B12 中的生日获取以年、月和日为单位的年龄,请使用以下公式:

=DATEDIF(B12,TODAY(),"Y")&" Years, "&DATEDIF(B12,TODAY(),"YM")&" Months, "&DATEDIF(B12,TODAY(),"MD")&" Days"

媒体 输入 键获取年龄,然后将自动填充手柄向下拖动到其他单元格。
doc计算两个日期之间的差异1

提示:

如果要根据给定的生日计算特定日期的年龄,请将 TODAY() 更改为用双引号括起来的特定日期,例如 = =DATEDIF(B12,"1/1/2021","Y")& " 年,"&DATEDIF(B12,"1/1/2021","YM")&" 月,"&DATEDIF(B12,"1/1/2021","MD")&"天"。

3.13 按 1 年 1 月 1900 日之前的出生日期计算年龄

在 Excel 中,1 年 1 月 1900 日之前的日期不能作为日期时间输入或正确计算。 但是,如果您想根据给定的出生日期(1/11900 之前)和死亡日期来计算名人的年龄,那么只有 VBA 代码可以帮助您。
doc计算两个日期之间的差异1

1。 按 其他 + F11 启用键 Microsoft Visual Basic应用程序 窗口,然后单击 插页 标签并选择 模块 创建一个新模块。

2.然后将以下代码复制并粘贴到新模块中。

VBA:计算1年1月1900日之前的年龄

Public Function AgeFunc(SDate As Variant, EDate As Variant) As Long
'UpdatebyExtendOffice
    Dim xSMonth As Integer
    Dim xSDay As Integer
    Dim xSYear As Integer
    Dim xEMonth As Integer
    Dim xEDay As Integer
    Dim xEYear As Integer
    Dim xAge As Integer
    If Not GetDate(SDate, xSYear, xSMonth, xSDay) Then
        AgeFunc = "Invalid Date"
        Exit Function
    End If
    If Not GetDate(EDate, xEYear, xEMonth, xEDay) Then
        AgeFunc = "Invalid Date"
        Exit Function
    End If
    xAge = xEYear - xSYear
    If xSMonth > xEMonth Then
        xAge = xAge - 1
    ElseIf xSMonth = xEMonth Then
        If xSDay > xEDay Then xAge = xAge - 1
    End If
    If xAge < 0 Then
        AgeFunc = "Invalid Date"
    Else
        AgeFunc = xAge
    End If
End Function
Private Function GetDate(ByVal DateStr As String, Y As Integer, M As Integer, D As Integer) As Boolean
    Dim I As Long
    Dim K As Long
    Y = 0
    M = 0
    D = 0
    GetDate = True
    On Error Resume Next
    I = InStr(1, DateStr, "/")
    M = CLng(Left(DateStr, I - 1))
    D = CLng(Mid(DateStr, I + 1, InStr(I + 1, DateStr, "/") - I - 1))
    Y = CLng(Right(DateStr, Len(DateStr) - InStrRev(DateStr, "/")))
    If M < 1 Or M > 12 Or D < 1 Or D > 31 Or Y < 1 Then
        GetDate = False
    End If
End Function

doc计算两个日期之间的差异1

3. 保存代码,返回工作表并选择一个单元格来放置计算的年龄,输入=AgeFunc(birthdate,deathdate),在这种情况下, =年龄函数(B22,C22), 按 Enter 键获取年龄。 如果需要,使用自动填充句柄将此公式应用于其他单元格。
doc计算两个日期之间的差异1

3.2 使用Kutools for Excel按出生计算年龄

如果你有 Kutools for Excel 安装在 Excel 中,您可以应用 日期和时间助手 计算年龄的工具。
doc计算两个日期之间的差异1

1. 选择要放置计算年龄的单元格,然后单击 库工具 > 公式助手 > 日期和时间助手.
doc计算两个日期之间的差异1

2.在 日期和时间助手 对话,

  • 1)检查 年龄 选项;
  • 2) 选择生日单元格或直接输入生日或点击日历图标选择生日;
  • 3)选择 的旅程 选项如果要计算当前年龄,请选择 指定日期 如果要计算过去或将来的年龄,请选择并输入日期;
  • 4) 从下拉列表中指定输出类型;
  • 5) 预览输出结果。 点击 Ok.

doc计算两个日期之间的差异1

点击 日期和时间助手 了解此功能的更多用法。

点击 Kutools for Excel 了解此加载项的所有功能。

点击 免费下载 获得 Kutools for Excel 30 天免费试用


3.3 根据序列号计算年龄或获取生日

doc计算两个日期之间的差异1

3.31 从身份证号码获取生日

如果有一个 ID 号列表使用前 6 位来记录生日,例如 920315330 表示生日是 03 年 15 月 1992 日,那么如何快速将生日放入另一列?

现在我们以单元格 C2 开始的 ID 号列表为例,使用公式如下:

=MID(C2,5,2)&"/"&MID(C2,3,2)&"/"&MID(C2,1,2)

媒体 输入 钥匙。 然后向下拖动自动填充手柄以获得其他结果。
doc计算两个日期之间的差异1

请注意:

在公式中,您可以根据需要更改引用。 比如ID号显示为13219920420392,生日是04/20/1992,可以把公式改成=MID(C2,8,2)&"/"&MID(C2,10,2)&"/ "&MID(C2,4,4) 以获得正确的结果。

3.32 根据身份证号码计算年龄

如果有一个身份证号码列表使用前 6 位来记录出生日期,例如 920315330 表示出生日期是 03/15/1992,如何在 Excel 中根据每个身份证号码快速计算年龄?

现在我们以单元格 C2 开始的 ID 号列表为例,使用公式如下:

=DATEDIF(DATE(IF(LEFT(C2,2)>TEXT(TODAY(),"YY"),"19"&LEFT(C2,2),"20"&LEFT(C2,2)),MID(C2,3,2),MID(C2,5,2)),TODAY(),"y")

媒体 输入 钥匙。 然后向下拖动自动填充手柄以获得其他结果。
doc计算两个日期之间的差异1

请注意:

在这个公式中,如果年份小于当前年份,则认为年份从 20 开始,如 200203943 将被认为是 2020 年; 如果年份大于当前年份,则该年份将被视为从 19 开始,例如 920420392 将被视为 1992 年。


更多 Excel 教程:

将多个工作簿/工作表合并为一个
本教程,列出了您可能遇到的几乎所有组合场景,并为您提供了相关专业的解决方案。

拆分文本、数字和日期单元格(分成多列)
本教程分为三个部分:拆分文本单元格、拆分数字单元格和拆分日期单元格。 每个部分都提供了不同的示例,以帮助您了解在遇到相同问题时如何处理拆分作业。

在Excel中合并多个单元格的内容而不会丢失数据
本教程将提取范围缩小到单元格中的特定位置,并收集了不同的方法来帮助在 Excel 中按特定位置从单元格中提取文本或数字。

在 Excel 中比较两列的匹配和差异
本文涵盖了您可能遇到的比较两列的大多数可能场景,希望对您有所帮助。


  • 超级公式栏 (轻松编辑多行文本和公式); 阅读视图 (轻松读取和编辑大量单元格); 粘贴到过滤范围...
  • 合并单元格/行/列 和保存数据; 拆分单元格内容; 合并重复的行和总和/平均值...防止细胞重复; 比较范围...
  • 选择重复或唯一 行; 选择空白行 (所有单元格都是空的); 超级查找和模糊查找 在许多工作簿中; 随机选择...
  • 确切的副本 多个单元格,无需更改公式参考; 自动创建参考 到多张纸; 插入项目符号,复选框等...
  • 收藏并快速插入公式,范围,图表和图片; 加密单元 带密码 创建邮件列表 并发送电子邮件...
  • 提取文字,添加文本,按位置删除, 删除空间; 创建和打印分页小计; 在单元格内容和注释之间转换...
  • 超级筛选 (将过滤方案保存并应用于其他工作表); 高级排序 按月/周/日,频率及更多; 特殊过滤器 用粗体,斜体...
  • 结合工作簿和工作表; 根据关键列合并表; 将数据分割成多个工作表; 批量转换xls,xlsx和PDF...
  • 数据透视表分组依据 周号,周几等 显示未锁定的单元格 用不同的颜色 突出显示具有公式/名称的单元格...
kte选项卡201905
  • 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
  • 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
  • 每天将您的工作效率提高50%,并减少数百次鼠标单击!
officetab底部
Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations