Excel 教程:日期时间计算(差值、年龄、加减)
在 Excel 中,日期时间的计算非常常见,比如计算两个日期/时间的差值、对日期时间进行加减、根据出生日期计算年龄等。本教程几乎涵盖了所有日期时间计算场景,并为您提供了相关方法。
本教程导航 |
1.计算两个日期/时间之间的差异 |
2. 日期和时间的加减 |
3.计算年龄 |
在本教程中,我通过一些示例来说明方法,您在使用以下 VBA代码或公式时可以根据需要更改引用。
1.计算两个日期/时间之间的差异
在日常 Excel 工作中,计算两个日期或两个时间之间的差异可能是最常见的日期时间计算问题。参考以下示例可以帮助您在遇到类似问题时提高效率。
Excel 的 DATEDIF 函数可以快速计算两个日期之间的天数、月数、年数和周数差异。
点击查看更多关于 DATEDIF 函数的详细信息
两个日期之间的天数差
要获取单元格 A2 和 B2 两个日期之间的天数差,请使用如下公式:
=DATEDIF(A2,B2,"d")
按 Enter 键以获得结果。
两个日期之间的月数差
要获取单元格 A5 和 B5 两个日期之间的月数差,请使用如下公式:
=DATEDIF(A5,B5,"m")
按 Enter 键以获得结果。
两个日期之间的年数差
要获取单元格 A8 和 B8 两个日期之间的年数差,请使用如下公式:
=DATEDIF(A8,B8,"y")
按 Enter 键以获得结果。
两个日期之间的周数差
要获取单元格 A11 和 B11 两个日期之间的周数差,请使用如下公式:
=DATEDIF(A11,B11,"d")/7
按 Enter 键以获得结果。
注意:
1)当你用上述公式计算周数差时,结果可能以日期格式显示,你需要将其格式设置为常规或数字格式。
2)使用上述公式计算周数差时,结果可能为小数,如果你只想要整数周数,可以在前面加上 ROUNDDOWN 函数,如下所示获取整数周数差:
=ROUNDDOWN(DATEDIF(A11,B11,"d")/7,0)
如果你只想计算两个日期之间忽略年份和天数的月数差,如下截图所示,可以使用以下公式。
=DATEDIF(A2,B2,"ym")
按 Enter 键以获得结果。
A2 为开始日期,B2 为结束日期。
如果你只想计算两个日期之间忽略年份和月份的天数差,如下截图所示,可以使用以下公式。
=DATEDIF(A5,B5,"md")
按 Enter 键以获得结果。
A5 为开始日期,B5 为结束日期。
如果你想要获取两个日期之间的差异,并以 xx 年 xx 月 xx 天的形式返回,如下截图所示,也可以使用以下公式。
=DATEDIF(A8, B8, "y") &" years, "&DATEDIF(A8, B8, "ym") &" months, " &DATEDIF(A8, B8, "md") &" days"
按 Enter 键以获得结果。
A8 为开始日期,B8 为结束日期。
要自动计算某日期与今天之间的差异,只需将上述公式中的 end_date 替换为 TODAY()。以下以计算过去某日期与今天之间的天数差为例。
=DATEDIF(A11,TODAY(),"d")
按 Enter 键以获得结果。
注意:如果你想计算未来日期与今天之间的差异,将 start_date设为今天,未来日期作为 end_date,如下所示:
=DATEDIF(TODAY(),A14,"d")
请注意,在 DATEDIF 函数中,start_date 必须小于 end_date,否则会返回 #NUM! 错误值。
有时你可能需要统计两个给定日期之间包含或不包含节假日的工作日天数。
本部分将使用 NETWORKDAYS.INTL 函数:
点击 NETWORKDAYS.INTL 了解其参数和用法。
统计包含节假日的工作日天数
要统计单元格 A2 和 B2 两个日期之间包含节假日的工作日天数,请使用如下公式:
=NETWORKDAYS.INTL(A2,B2)
按 Enter 键以获得结果。
统计不包含节假日的工作日天数
要统计单元格 A2 和 B2 两个日期之间包含节假日且排除 D5:D9 区域内节假日的工作日天数,请使用如下公式:
=NETWORKDAYS.INTL(A5,B5,1,D5:D9)
按 Enter 键以获得结果。
注意:
上述公式默认将星期六和星期日作为周末,如果你的周末天数不同,请根据需要更改 [weekend] 参数。
如果你想统计两个日期之间的周末天数,可以使用 SUMPRODUCT 或 SUM 函数来实现。
要统计单元格 A12 和 B12 两个日期之间的周末(星期六和星期日)天数:
=SUMPRODUCT(--(WEEKDAY(ROW(INDIRECT(A12&":"&B12)),2)>5))
或
=SUM(INT((WEEKDAY(A12-{1,7})+B12-A12)/7))
按 Enter 键以获得结果。
要统计两个日期之间某个指定星期几(如星期一)的天数,可以结合 INT 和 WEEKDAY 函数来实现。
A15 和 B15 单元格为你要统计星期一的两个日期,请使用如下公式:
=INT((WEEKDAY(A15-2)-A15 +B15)/7)
按 Enter 键以获得结果。
在 WEEKDAY 函数中更改星期几的数字即可统计不同的星期几:
1 表示星期日,2 表示星期一,3 表示星期二,4 表示星期三,5 表示星期四,6 表示星期五,7 表示星期六。
有时你可能想知道基于指定日期的本月或本年剩余天数,如下截图所示:
获取本月剩余天数
点击 EOMONTH 了解参数和用法。
要获取单元格 A2 当前月份的剩余天数,请使用如下公式:
=EOMONTH(A2,0)-A2
按 Enter 键,并拖动自动填充柄应用到其他单元格(如有需要)。
提示:结果可能以日期格式显示,只需将其更改为常规或数字格式即可。
获取本年剩余天数
要获取单元格 A2 当前年份的剩余天数,请使用如下公式:
=DATE(YEAR(A2),12,31)-A2
按 Enter 键,并拖动自动填充柄应用到其他单元格(如有需要)。
要获取两个时间之间的差异,这里有两种简单公式可供参考。
假设 A2 和 B2 单元格分别包含 start_time 和 end_time,可使用如下公式:
=B2-A2
=TEXT(B2-A2,"hh:mm:ss")
按 Enter 键以获得结果。
注意:
- 如果使用 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")),然后将结果格式设置为时间。
如果你想分别计算两个时间之间的小时、分钟或秒数差,如下截图所示,请参考本部分。
获取两个时间之间的小时差
要获取 A5 和 B5 两个时间之间的小时差,请使用如下公式:
=INT((B5-A5)*24)
按 Enter 键,然后将结果格式设置为常规或数字。
如果想获取小数小时差,可用 (end_time-start_time)*24。
获取两个时间之间的分钟差
要获取 A8 和 B8 两个时间之间的分钟差,请使用如下公式:
=INT((B8-A8)*1440)
按 Enter 键,然后将结果格式设置为常规或数字。
如果想获取小数分钟差,可用 (end_time-start_time)*1440。
获取两个时间之间的秒数差
要获取 A5 和 B5 两个时间之间的秒数差,请使用如下公式:
=(B11-A11)*86400)
按 Enter 键,然后将结果格式设置为常规或数字。
如果两个时间之间的差值不超过24小时,HOUR 函数可以快速获取这两个时间之间的小时差。
点击 HOUR 了解该函数的详细信息。
要获取 A14 和 B14 单元格时间之间的小时差,请使用如下 HOUR 函数:
=HOUR(B14-A14)
按 Enter 键以获得结果。
start_time 必须小于 end_time,否则公式返回 #NUM! 错误值。
MINUTE 函数可以快速获取这两个时间之间的分钟差,并忽略小时和秒。
点击 MINUTE 了解该函数的详细信息。
要获取 A17 和 B17 单元格时间之间的分钟差,请使用如下 MINUTE 函数:
=MINUTE(B17-A17)
按 Enter 键以获得结果。
start_time 必须小于 end_time,否则公式返回 #NUM! 错误值。
SECOND 函数可以快速获取这两个时间之间的秒数差,并忽略小时和分钟。
点击 SECOND 了解该函数的详细信息。
要获取 A20 和 B20 单元格时间之间的秒数差,请使用如下 SECOND 函数:
=SECOND(B20-A20)
按 Enter 键以获得结果。
start_time 必须小于 end_time,否则公式返回 #NUM! 错误值。
如果你想以“xx 小时 xx 分钟 xx 秒”的形式显示两个时间之间的差异,请使用如下 TEXT 函数:
点击 TEXT 了解该函数的参数和用法。
要计算 A23 和 B23 单元格时间之间的差异,请使用如下公式:
=TEXT(B23-A23,"h"" hours ""m"" minutes ""s"" seconds"")。
按 Enter 键以获得结果。
注意:
该公式同样只计算不超过24小时的小时差,且 end_time 必须大于 start_time,否则会返回 #VALUE! 错误值。
如果有两个日期时间格式为 mm/dd/yyyy hh:mm:ss,想要计算它们之间的差异,可根据需要使用以下任一公式。
获取两个日期时间之间的时间差并以 hh:mm:ss 格式返回结果
以单元格 A2 和 B2 两个日期时间为例,请使用如下公式:
=B2-A2
按 Enter 键,结果以日期时间格式返回,然后将其格式设置为 [h]:mm:ss 在“自定义”分类下的 数字 选项卡中 设置单元格格式 对话框。
获取两个日期时间之间的差异并返回天、小时、分钟、秒
以单元格 A5 和 B5 两个日期时间为例,请使用如下公式:
=INT(B5-A5) & " Days, " & HOUR(B5-A5) & " Hours, " & MINUTE(B5-A5) & " Minutes, " & SECOND(B5-A5) & " Seconds "
按 Enter 键以获得结果。
注意:两种公式中,end_datetime 必须大于 start_datetime,否则会返回错误值。
首先,你需要知道如何将单元格格式设置为显示毫秒:
选择你想显示毫秒的单元格,右键选择 设置单元格格式 以打开 设置单元格格式 对话框,选择 自定义 在 分类 列表下的数字选项卡中,输入 hh:mm:ss.000 到文本框中。
使用公式:
要计算单元格 A8 和 B8 两个时间之间的差异,请使用如下公式:
=ABS(B8-A8)
按 Enter 键以获得结果。
有时你可能需要统计两个日期之间排除周末(星期六和星期日)的工作小时数。
这里假设每天固定工作8小时,要计算单元格 A16 和 B16 两个日期之间的工作小时数,请使用如下公式:
=NETWORKDAYS(A16,B16) *8
按 Enter 键,然后将结果格式设置为常规或数字。
更多关于计算两个日期之间工作小时数的示例,请访问 Get Work Hours Between Two Dates In Excel
如果你已在 Excel 中安装 Kutools for Excel,90% 的日期时间差值计算都可以无需记忆公式快速完成。
要在 Excel 中计算两个日期时间之间的差异,只需使用 日期时间助手 即可。
1.选择一个用于放置计算结果的单元格,点击 Kutools > 公式助手 > 日期时间助手.
2. 在弹出的日期时间助手对话框中,按照以下设置操作:
- 勾选差值选项;
- 在参数输入区域选择开始和结束日期时间,也可以直接手动输入日期时间,或点击日历图标选择日期;
- 从下拉列表中选择输出结果类型;
- 在结果区域预览结果。
3. 点击确定。计算结果已输出,可拖动自动填充柄应用到其他需要计算的单元格。
提示:
如果你想用 Kutools for Excel 获取两个日期时间之间的差异并以天、小时、分钟显示,请按如下操作:
选择一个用于放置结果的单元格,点击 Kutools > 公式助手 > 日期时间 > 统计两个日期之间的天数、小时和分钟.
然后在 公式助手 对话框中,指定开始日期和结束日期,然后点击 确定.
差值结果将以天、小时和分钟显示。
点击日期时间助手 了解此功能的更多用法。
点击 Kutools for Excel 了解此插件的全部功能。
点击免费下载,获取 30 天 Kutools for Excel 免费试用
1.32通过公式助手计算两个日期时间之间的周末/工作日/指定星期几的差异
如果你想快速统计两个日期时间之间的周末、工作日或指定星期几,Kutools for Excel 的 公式助手 分组可以帮你实现。
1.选择放置计算结果的单元格,点击 Kutools > 计数 > 两个日期之间非工作日天数/两个日期之间工作日天数/两日期间星期几的天数.
2. 在弹出的公式助手对话框中,指定开始日期和结束日期,如果应用“两日期间星期几的天数”,还需指定星期几。
要统计指定星期几,可参考说明,使用1-7 表示星期日到星期六。
3. 点击确定,然后拖动自动填充柄应用到需要统计周末/工作日/指定星期几的其他单元格。
点击 Kutools for Excel 了解此插件的全部功能。
点击免费下载,获取 30 天 Kutools for Excel 免费试用
2. 日期和时间的加减
除了计算两个日期时间之间的差异外,日期时间的加减也是 Excel 中常见的操作。例如,你可能需要根据生产日期和产品保质天数计算到期日期。
要向日期添加或减少指定天数,这里有两种不同的方法。
假设要在单元格 A2 的日期上加21 天,请选择以下任一方法解决:
方法1:日期+天数
选择一个单元格并输入公式:
=A+21
按 Enter 键以获得结果。
如果要减少21 天,只需将加号(+)改为减号(-)。
方法2:选择性粘贴
1. 在某个单元格(如 C2)输入你要添加的天数,然后按 Ctrl + C 复制。
2.选择你要加21 天的日期,右键显示菜单,选择 选择性粘贴....
3. 在 选择性粘贴 对话框中,勾选 添加 选项(如果要减少天数,勾选 减少 选项)。点击 确定.
4. 此时原日期变为5位数字,将其格式设置为日期即可。
要向日期添加或减少月数,可使用 EDATE 函数。
点击 EDATE 学习其参数和用法。
假设要在单元格 A2 的日期上加6个月,使用如下公式:
=EDATE(A2,6)
按 Enter 键以获得结果。
如果要减少6个月,将6 改为 -6。
要向日期添加或减少 n 年,可用 DATE、YEAR、MONTH 和 DAY 函数组合的公式。
假设要在单元格 A2 的日期上加3 年,使用如下公式:
=DATE(YEAR(A2) +3, MONTH(A2),DAY(A2))
按 Enter 键以获得结果。
如果要减少3 年,将3 改为 -3。
要向日期添加或减少周数,通用公式为
假设要在单元格 A2 的日期上加4 周,使用如下公式:
=A2+4*7
按 Enter 键以获得结果。
如果要减少4 周,将加号(+)改为减号(-)。
本节介绍如何使用 WORKDAY 函数向给定日期添加或减少工作日(可排除或包含节假日)。
访问 WORKDAY 了解其参数和用法。
添加包含节假日的工作日
A2 单元格为日期,B2 单元格为要添加的天数,请使用如下公式:
=WORKDAY(A2,B2)
按 Enter 键以获得结果。
添加不包含节假日的工作日
A5 单元格为日期,B5 单元格为要添加的天数,D5:D8 区域为节假日,请使用如下公式:
=WORKDAY(A5,B5,D5:D8)
按 Enter 键以获得结果。
注意:
WORKDAY 函数默认将星期六和星期日作为周末,如果你的周末为其他天,可使用 WOKRDAY.INTL 函数自定义周末。
访问 WORKDAY.INTL了解更多详情。
如果要减少工作日,只需将天数设为负数。
如果你想向日期添加指定的年、月、天数,可用 DATE、YEAR、MONTH 和 DAYS 函数组合的公式。
要在 A11 单元格的日期上加1 年2个月30 天,请使用如下公式:
=DATE(YEAR(A11)+1,MONTH(A11)+2,DAY(A11)+30)
按 Enter 键以获得结果。
如果要减少,将所有加号(+)改为减号(-)。
这里提供一些向日期时间添加或减少小时、分钟或秒数的公式。
向日期时间添加或减少小时
假设要在单元格 A2 的日期时间(也可以是时间)上加3 小时,请使用如下公式:
=A2+3/24
按 Enter 键以获得结果。
向日期时间添加或减少分钟
假设要在单元格 A5 的日期时间(也可以是时间)上加15 分钟,请使用如下公式:
=A2+15/1440
按 Enter 键以获得结果。
向日期时间添加或减少秒数
假设要在单元格 A8 的日期时间(也可以是时间)上加20 秒,请使用如下公式:
=A2+20/86400
按 Enter 键以获得结果。
假设有一张 Excel 表格记录了一周内所有员工的工作时间,要统计总工作时长以便计算工资,可以使用 SUM(区域) 来获得结果。但通常情况下,累加结果会以不超过24小时的时间格式显示,如下截图所示,如何获得正确结果?
实际上,只需将结果格式设置为 [hh]:mm:ss 即可。
右键点击结果单元格,选择 设置单元格格式 在菜单中,在弹出的 设置单元格格式 对话框中,选择 自定义 从列表中,输入 [hh]:mm:ss 到右侧文本框,点击 确定.
累加结果将正确显示。
这里提供一个较长的公式,用于根据起始日期添加指定工作小时数,并排除周末(星期六和星期日)及节假日,计算结束日期。
在 Excel 表格中,A11 为起始日期时间,B11 为工作小时数,E11 和 E13 为工作开始和结束时间,E15 为需排除的节假日。
请使用如下公式:
=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))
按 Enter 键以获得结果。
如果你已安装 Kutools for Excel,只需一个工具—— 日期时间助手即可解决大部分日期时间加减的计算。
1. 点击你想输出结果的单元格,点击 Kutools > 公式助手 > 日期时间助手。
2. 在日期时间助手对话框中,根据需要勾选添加或减少选项,然后选择单元格或直接输入要操作的日期时间,在参数输入区域指定要添加或减少的年、月、周、天、小时、分钟和秒数,最后点击确定。见截图:
你可以在 结果 区域预览计算结果。
现在结果已输出,拖动自动填充柄获取其他单元格的结果。
点击日期时间助手了解此功能的更多用法。
点击 Kutools for Excel了解此插件的全部功能。
点击免费下载 ,获取 30 天 Kutools for Excel 免费试用
如果有一列产品的到期日期,你可能希望检查并高亮已过期的日期(以今天为基准),如下截图所示。
实际上,使用条件格式可以快速完成此操作。
1.选择你要检查的日期,然后点击 开始 > 条件格式 > 新建规则.
2. 在 新建格式规则 对话框中,选择 使用公式确定要设置格式的单元格 在 选择规则类型 区域,输入 =B2
有些产品的到期日期为生产月的最后一天或下月的第一天,为了快速根据生产日期列出到期日期,请参考本部分。
获取本月最后一天
假设 B13 单元格为生产日期,请使用如下公式:
=EOMONTH(B13,0)
按 Enter 键以获得结果。
获取下月第一天
假设 B18 单元格为生产日期,请使用如下公式:
=EOMONTH(B18,0)+1
按 Enter 键以获得结果。
3.计算年龄
本节列举了基于给定日期或一串数字计算年龄的方法。
根据出生日期获取小数年龄
点击 YEARFRAC 了解其参数和用法。
例如,要根据 B2:B9 列的出生日期获取年龄,请使用如下公式:
=YEARFRAC(B2,TODAY())
按 Enter 键,然后向下拖动自动填充柄,直到所有年龄都计算完毕。
提示:
1)你可以在 设置单元格格式 对话框中指定小数位数。
2)如果你想基于给定出生日期计算某一特定日期的年龄,将 TODAY() 改为用双引号括起来的具体日期,如 =YEARFRAC(B2,"1/1/2021")
3)如果你想获取下一年年龄,只需在公式后加1,如 =YEARFRAC(B2,TODAY())+1。
根据出生日期获取整数年龄
点击 DATEDIF 了解其参数和用法。
用上述示例,根据 B2:B9 列的出生日期获取年龄,请使用如下公式:
=DATEDIF(B2,TODAY(),"y")
按 Enter 键,然后向下拖动自动填充柄,直到所有年龄都计算完毕。
提示:
1)如果你想基于给定出生日期计算某一特定日期的年龄,将 TODAY() 改为用双引号括起来的具体日期,如 =DATEDIF(B2,"1/1/2021","y")。
2)如果你想获取下一年年龄,只需在公式后加1,如 =DATEDIF(B2,TODAY(),"y")+1。
如果你想根据给定出生日期计算年龄,并以 xx 年 xx 月 xx 天的形式显示,如下截图所示,可使用以下较长公式。
要根据 B12 单元格的出生日期获取年、月、天格式的年龄,请使用如下公式:
=DATEDIF(B12,TODAY(),"Y")&" Years, "&DATEDIF(B12,TODAY(),"YM")&" Months, "&DATEDIF(B12,TODAY(),"MD")&" Days"
按 Enter 键以获得年龄,然后向下拖动自动填充柄至其他单元格。
提示:
如果你想基于给定出生日期计算某一特定日期的年龄,将 TODAY() 改为用双引号括起来的具体日期,如 =DATEDIF(B12,"1/1/2021","Y")&" Years, "&DATEDIF(B12,"1/1/2021","YM")&" Months, "&DATEDIF(B12,"1/1/2021","MD")&" Days"。
在 Excel 中,1900年1月1日之前的日期无法作为日期时间输入或正确计算。但如果你想根据给定的出生日期(早于1900年1月1日)和死亡日期计算名人的年龄,只能通过 VBA代码实现。
1. 按 Alt + F11 键打开 Microsoft Visual Basic for Applications 窗口,点击插入选项卡,选择模块以新建模块。
2. 然后将以下代码复制粘贴到新模块中。
VBA:计算1900年1月1日之前的年龄
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
3. 保存代码,返回工作表,选择一个单元格输入 =AgeFunc(birthdate,deathdate),例如: =AgeFunc(B22,C22),按 Enter 键获得年龄。如有需要,可用自动填充柄应用到其他单元格。
如果你已 Kutools for Excel 安装在 Excel 中,可以使用 日期时间助手 工具计算年龄。
1.选择一个用于放置计算年龄的单元格,点击 Kutools > 公式助手 > 日期时间助手.
2. 在日期时间助手对话框中,
- 1)勾选年龄选项;
- 2)选择出生日期单元格或直接输入出生日期,或点击日历图标选择出生日期;
- 3)如需计算当前年龄,选择今天选项;如需计算过去或未来的年龄,选择指定日期并输入日期;
- 4)从下拉列表中指定输出类型;
- 5)预览输出结果。点击确定。
点击日期时间助手 了解此功能的更多用法。
点击 Kutools for Excel 了解此插件的全部功能。
点击免费下载,获取 30 天 Kutools for Excel 免费试用
如果有一列身份证号码,前6位记录出生日期,如920315330 表示出生日期为1992/03/15,如何快速将出生日期提取到另一列?
以 C2 单元格为身份证号码为例,使用如下公式:
=MID(C2,5,2)&"/"&MID(C2,3,2)&"/"&MID(C2,1,2)
按 Enter 键,然后向下拖动自动填充柄获取其他结果。
注意:
在公式中,你可以根据实际需要更改引用。例如,若身份证号为13219920420392,生日为1992/04/20,可将公式改为 =MID(C2,8,2)&"/"&MID(C2,10,2)&"/"&MID(C2,4,4) 获取正确结果。
如果有一列身份证号码,前6位记录出生日期,如920315330 表示出生日期为1992/03/15,如何在 Excel 中根据每个身份证号码快速计算年龄?
以 C2 单元格为身份证号码为例,使用如下公式:
=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")
按 Enter 键,然后向下拖动自动填充柄获取其他结果。
注意:
在该公式中,如果年份小于当前年份,则年份以20开头,如200203943被视为2020年;如果年份大于当前年份,则年份以19开头,如920420392被视为1992年。
更多 Excel 教程:
合并多个工作簿/工作表为一个本教程列举了你可能遇到的几乎所有合并场景,并为你提供了专业的解决方案。
拆分文本、数字和日期单元格(分列)本教程分为三部分:拆分文本单元格、拆分数字单元格和拆分日期单元格。每部分都提供不同示例,帮助你在遇到类似问题时掌握拆分方法。
合并多个单元格内容且不丢失数据本教程针对单元格中特定位置的提取进行了细化,收集了多种方法,帮助你按指定位置从单元格中提取文本或数字。
对比两列找出匹配项和差异本教程涵盖了你可能遇到的绝大多数两列对比场景,希望对你有所帮助。
- 超级公式栏(轻松编辑多行文本和公式);阅读布局(轻松读取和编辑大量单元格);粘贴到筛选区域...
- 合并单元格/行/列并保留数据;拆分单元格内容;合并重复行并求和/平均值... 防止重复单元格;比较区域...
- 选择重复或唯一行;选择空白行(所有单元格为空);在多个工作簿中进行超级查找和模糊查找;随机选择...
- 精准复制多个单元格而不改变公式引用;自动创建对多个工作表的引用;插入项目符号、复选框等...
- 收藏并快速插入公式、区域、图表和图片;用密码加密单元格;创建邮件列表并发送电子邮件...
- 提取文本,添加文本,按位置删除,删除空格;创建并打印分页小计;在单元格内容和批注之间转换...
- 超级筛选(保存并应用筛选方案到其他工作表);按月/周/日高级排序,频率等;按粗体、斜体特殊筛选...
- 合并工作簿和工作表;基于关键列汇总表格;将数据分割到多个工作表;批量转换 xls、xlsx 和 PDF...
- 数据透视表按周数、星期几等分组... 用不同颜色显示未锁定、已锁定单元格;高亮显示包含公式的单元格/名称...

- 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中启用标签式编辑和阅读。
- 在同一窗口的新标签页中打开和创建多个文档,而不是在新窗口中。
- 将您的生产力提高 50%,每天为您减少数百次鼠标点击!
