如何在Excel中根据生日计算年龄

您所在的位置:网站首页 如何使用excel计算年龄公式 如何在Excel中根据生日计算年龄

如何在Excel中根据生日计算年龄

2024-07-17 14:25| 来源: 网络整理| 查看: 265

本教程展示了在Excel中从生日获得年龄的不同方法。 你将学习到一些公式,以完整的年数计算年龄,获得今天或特定日期的准确年龄(年、月、日)。

在Excel中没有计算年龄的特殊功能,但是存在一些不同的方法将出生日期转换为年龄。 本教程将解释每种方法的优点和缺点,展示如何在Excel中制作一个完美的年龄计算公式,并为解决一些特定的任务而调整它。

如何在Excel中根据出生日期计算年龄

在日常生活中,问题是" 你多大了? "在Microsoft Excel中,你可以用公式计算出以月、日、小时甚至分钟为单位的准确年龄。 但是,让我们传统一点,先学习如何从DOB计算年龄的年数。

以年龄为单位的Excel基本公式

你通常如何计算一个人的年龄呢? 只需将出生日期减去当前日期即可。 这个传统的年龄公式也可以在Excel中使用。

假设B2单元格中有一个出生日期,计算年龄的公式如下。

=(今天()-b2)/365

公式的第一部分(TODAY()-B2)返回当前日期和出生日期之间的差值是天数,然后你用这个数字除以365,得到年数。

这个公式很明显,也很容易记住,但是,有一个小问题。 在大多数情况下,它返回的是一个小数,如下图所示。

要显示完整的年数,使用INT函数将小数点四舍五入到最接近的整数。

=int((today()-b2)/365)

缺点。 在Excel中使用这个年龄公式会产生相当准确的结果,但并非完美无缺。 除以一年中的平均天数在大多数情况下都能正常工作,但有时会把年龄弄错。 例如,如果某人出生于2月29日,而今天是2月28日,该公式会使一个人大一天。

作为一个替代方法,你可以用365.25而不是365除以,因为每四年有366天。 然而,这种方法也不是完美的。 例如,如果你要计算一个还没有经历过闰年的孩子的年龄,除以365.25会产生一个错误的结果。

总的来说,用出生日期减去当前日期在正常生活中非常有效,但在Excel中却不是最理想的方法。 在本教程中,你将进一步学习几个特殊的函数,这些函数无论在哪一年都能完美地计算出年龄。

用YEARFRAC函数从出生日期计算年龄

在Excel中,将DOB转换为年龄的一个更可靠的方法是使用YEARFRAC函数,该函数返回年份的分数,即两个日期之间的整数天数。

See_also: Outlook中的电子邮件加密 - 如何用数字ID加密邮件

YEARFRAC函数的语法如下。

YEARFRAC(start_date, end_date, [base])

前两个论点是显而易见的,几乎不需要任何额外的解释。 基础 是一个可选的参数,定义了要使用的日计数基础。

要制作一个完全真实的年龄公式,请向YEARFRAC函数提供以下数值。

开始日期 - 出生日期。 结束日期 - TODAY()函数用来返回今天的日期。 基础 - 使用基础 1 这告诉Excel用每月的实际天数除以每年的实际天数。

考虑到上述情况,根据出生日期计算年龄的Excel公式如下。

年薪制( 出生日期 , TODAY(), 1)

假设出生日期在单元格B2中,公式的形状如下。

=yearfrac(b2, today(), 1)

像前面的例子一样,YEARFRAC函数的结果也是一个小数,要解决这个问题,使用ROUNDDOWN函数,最后一个参数为0,因为你不想要任何小数位。

因此,这里有一个改进的YEARFRAC公式来计算Excel中的年龄。

=rounddown(yearfrac(b2, today(), 1), 0)

在Excel中用DATEDIF计算年龄

在Excel中还有一种将出生日期转换为年龄的方法是使用DATEDIF函数。

DATEDIF(start_date, end_date, unit)

这个函数可以返回两个日期之间在不同时间单位上的差异,如年、月和日,这取决于你在 单位 争论。

Y - 返回 完整的年份 在开始和结束日期之间。 M - 返回 完整的月份 日期之间。 D--------------返回 在这两个日期之间。 YM - 返回 几个月 ,无视日和年。 MD - 返回的差值为 ,忽略了月和年。 YD - 返回以下数据的差异 ,无视岁月。

由于我们的目标是计算出 年纪在 ,我们使用的是 "y "单位。

DATEDIF( 出生日期 , TODAY(), "y")

在这个例子中,DOB在B2单元格中,你在年龄公式中引用这个单元格。

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

在这种情况下,不需要额外的四舍五入功能,因为带有 "y "单位的DATEDIF公式可以计算出整年的数量。

如何从生日得到年龄,以年、月、日为单位

正如你刚才所看到的,用一个人活过的整数年来计算年龄是很容易的,但它并不总是足够的。 如果你想知道确切的年龄,即某人的出生日期和当前日期之间有多少年、多少月、多少天,可以写3个不同的DATEDIF函数。

为了得到年数。 =datedif(b2, today(), "y") 为了获得月数。 =datedif(b2, today(), "ym") 为了得到天数。 =datedif(b2,today(), "md")

其中B2是出生日期。

然后,将上述函数串联在一个公式中,像这样。

=DATEDIF(B2,TODAY(), "Y") ; DATEDIF(B2,TODAY(), "YM") ; DATEDIF(B2,TODAY(), "MD")

上述公式返回3个数字(年、月、日),并串联在一个文本字符串中,如下图所示。

为了使结果更有意义,用逗号将数字分开,并定义每个数值的含义。

=DATEDIF(B2,TODAY(), "Y") ; " Years, " ; DATEDIF(B2,TODAY(), "YM") ; " Months, " ; DATEDIF(B2,TODAY(), "MD" ) ; " Days"

现在的结果看起来好多了。

这个公式很好用,但你可以通过隐藏零值来进一步改进它。 为此,添加3个检查0的IF语句,每个DATEDIF一个。

=IF(DATEDIF(B2, TODAY(), "y")=0,",DATEDIF(B2, TODAY(), "y");" 年, "; IF(DATEDIF(B2, TODAY(), "ym")=0,",DATEDIF(B2, TODAY(), "ym");" 月, "; IF(DATEDIF(B2, TODAY(), "md")=0, ", DATEDIF(B2, TODAY()," md");" 日" )

下面的截图展示了Excel年龄公式的最终运行情况--它以年、月、日为单位返回年龄,只显示了 非零 价值。

提示:如果你正在寻找一个Excel公式来计算年龄,在 年和月 ,取上述公式,去掉最后一个计算天数的IF(DATEDIF())块。

在Excel中计算年龄的具体公式

上面讨论的通用年龄计算公式在大多数情况下非常有效。 然而,在某些情况下,你可能需要一些非常具体的东西。 当然,不可能涵盖每一种情况,但下面的例子将给你一些想法,你可以根据你的特定任务来调整年龄公式。

如何在Excel中计算某一特定日期的年龄

如果你想知道某人在某一日期的年龄,使用上面讨论的DATEDIF年龄公式,但将第2个参数中的TODAY()函数替换为具体日期。

假设出生日期是在B1,以下公式将返回2020年1月1日的年龄。

=DATEDIF(B1, "1/1/2020", "Y") ; " 年, " ; DATEDIF(B1, "1/1/2020", "YM") ; " 月, " ; DATEDIF(B1, "1/1/2020", "MD") ; " 日"

为了使你的年龄公式更加灵活,你可以在某个单元格中输入日期,并在公式中引用该单元格。

=DATEDIF(B1,B2, "Y") ; " 年,"; DATEDIF(B1,B2, "YM") ; " 月,"; DATEDIF(B1,B2, "MD") ; " 日"

其中B1是DOB,B2是你想计算年龄的日期。

计算某一年的年龄

在没有确定完整的计算日期,而你只知道年份的情况下,这个公式就很方便。

假设你正在使用一个医疗数据库,而你的目标是找出病人在接受最后一次全面体检时的年龄。

假设出生日期在第3行开始的B列,最后一次体检的年份在C列,年龄计算公式如下。

=DATEDIF(B3,DATE(C3, 1, 1), "y")

因为没有定义体检的确切日期,所以你使用DATE函数,用一个任意的日期和月份参数,例如DATE(C3, 1, 1)。

DATE函数从B3单元格中提取年份,使用你提供的月和日的数字(本例中为1-1)生成一个完整的日期,并将该日期传递给DATEDIF。 结果,你得到病人在某年1月1日的年龄。

找出一个人达到N岁的日期

假设你的朋友出生于1978年3月8日,你如何知道他在哪一天满50岁? 通常,你只需在这个人的出生日期上加上50年。 在Excel中,你也可以用DATE函数做同样的事情。

=date(year(b2) + 50, month(b2), day(b2))

其中B2是出生日期。

与其在公式中硬编码年数,你可以引用某个单元格,让你的用户输入任何年数(下面截图中的F1)。

从不同的单元格中的日、月、年计算出年龄

当一个出生日期被分割成3个不同的单元格(例如,年在B3,月在C3,日在D3),你可以用这种方式计算年龄。

See_also: 如何在Excel中制作饼状图 通过使用DATE和DATEVALUE函数获得出生日期。

DATE(B3,MONTH(DATEVALUE(C3; "1")),D3)

将上述公式嵌入到DATEDIF中,根据出生日期以年、月、日计算年龄。 =DATEDIF(DATE(B3, MONTH(DATEVALUE(C3; "1")), D3), TODAY(), "y") ; " 年, "; DATEDIF(DATE(B3, MONTH(DATEVALUE(C3; "1")), D3), TODAY(), "ym" ) ; " 月, "; DATEDIF(DATE(B3, MONTH(DATEVALUE(C3;;"1") ) , D3) , "md" ; " 日"

更多关于计算一个日期之前/之后的天数的例子,请看如何在Excel中计算日期之后或直到的天数。

Excel中的年龄计算器

如果你想在Excel中拥有自己的年龄计算器,你可以通过使用下面解释的几个不同的DATEDIF公式来制作一个。 如果你不想重新发明轮子,你可以使用我们的Excel专业人士创建的年龄计算器。

如何在Excel中创建一个年龄计算器

现在你知道了如何在Excel中制作年龄公式,你可以建立一个自定义的年龄计算器,例如这个计算器。

注意:要查看嵌入式工作簿,请允许营销cookies。

你在上面看到的是一个嵌入的Excel在线表格,所以请随意在相应的单元格中输入你的出生日期,你会在瞬间得到你的年龄。

计算器使用以下公式,根据A3单元格中的出生日期和今天的日期来计算年龄。

B5中的公式是以年、月、日计算年龄。 =DATEDIF(B2,TODAY(), "Y") ; " Years, " ; DATEDIF(B2,TODAY(), "YM") ; " Months, " ; DATEDIF(B2,TODAY(), "MD" ) ; " Days" B6中的公式是以月为单位计算年龄。 =DATEDIF($B$3,TODAY(), "m") B7中的公式是以天为单位计算年龄。 =DATEDIF($B$3,TODAY(), "d")

如果你对Excel表格控件有一些经验,你可以添加一个选项来计算特定日期的年龄,就像下面的截图所示。

为此,添加几个选项按钮( 开发者标签 ; 插入 ; 表格控制 ; 选项按钮 然后,写一个IF/DATEDIF公式来获得今天的日期或用户指定的日期的年龄。

该公式的工作逻辑如下。

如果 今天的日期 选项框被选中,值1出现在链接的单元格中(本例中为I5),年龄公式基于今天的日期进行计算。 IF($I$5=1, DATEDIF($B$3,TODAY(), "Y") ; " Years, " ; DATEDIF($B$3,TODAY(), "YM") ; " Months, " ; DATEDIF($B$3, TODAY(), "MD" ) ; " Days" ) 如果 具体日期 选项按钮被选中,并且在单元格B7中输入了一个日期,年龄将在指定的日期计算。 IF(ISNUMBER($B$7), DATEDIF($B$3, $B$7, "Y") ; " 年, " ; DATEDIF($B$3, $B$7, "YM") ; " 月, " ; DATEDIF($B$3, $B$7, "MD") ; " 天, ")

最后,将上述函数相互嵌套,你将得到完整的年龄计算公式(在B9)。

=IF($I$5=1, DATEDIF($B$3, TODAY(), "Y") ; " Years, " ; DATEDIF($B$3, TODAY(), "YM") ; " Months, " ; DATEDIF($B$3, TODAY(), "MD") ; " Days", IF(ISNUMBER($B$7), DATEDIF($B$3, $B$7, "Y" ) ; " Years, " ; DATEDIF($B$3, $B$7, "YM") ; " Months, " ; DATEDIF($B$3, $B$7, "MD" ) ; " Days", " " )

B10和B11中的公式以同样的逻辑工作。 当然,它们要简单得多,因为它们只包括一个DATEDIF函数,分别以完整的月数或日数返回年龄。

要了解详情,我邀请你下载这个Excel年龄计算器,并研究单元格B9:B11中的公式。

下载适用于Excel的年龄计算器

适用于Excel的即用型年龄计算器

我们的终极套件的用户不必为在Excel中制作自己的年龄计算器而烦恼--只需点击几下就可以了。

选择一个你想插入年龄公式的单元格,转到 Ablebits工具 标签; 日期; 时间 组,并点击 日期; 时间向导 按钮。

Date ; Time Wizard将启动,你将直接进入 年龄 标签。 关于 年龄 标签,有3件事情需要你指定。 出生数据 作为一个单元格引用或mm/dd/yyyy格式的日期。 年龄在 今天的日期 或 具体日期 . 选择是否以天、月、年或确切年龄计算年龄。 点击 插入公式 按钮。

完成了!

该公式瞬间插入所选单元格,你双击填充柄,将其复制到下一列。

你可能已经注意到,我们的Excel年龄计算器创建的公式比我们迄今为止讨论的那些公式更复杂,但它迎合了时间单位的单数和复数,如 "日 "和 "天"。

如果你想摆脱 "0天 "这样的零单位,选择 请勿 显示零单位 复选框。

如果你想测试这个年龄计算器,以及发现更多60个节省时间的Excel插件,欢迎你在本帖末尾下载我们的终极套件的试用版。

如何突出某些年龄段(低于或超过特定年龄)?

在某些情况下,你可能不仅需要在Excel中计算年龄,还需要突出显示包含低于或高于某一特定年龄的单元格。

如果你的年龄计算公式返回完整的年数,那么你可以根据这些简单的公式创建一个常规的条件格式化规则。

要突出显示等于或大于18岁的年龄:=$C2;=18 强调18岁以下的年龄:=$C2;18

其中C2是年龄栏中最上面的单元格(不包括栏头)。

但如果你的公式是以年和月为单位显示年龄,或以年、月、日为单位显示年龄,怎么办? 在这种情况下,你必须创建一个基于DATEDIF公式的规则,从出生日期的年数计算年龄。

假设出生日期在从第2行开始的B列,公式如下。

为了强调年龄 根据 18(黄色)。 =DATEDIF($B2, TODAY(), "Y");18 为了强调年龄 之间 18和65(绿色)。 =AND(DATEDIF($B2, TODAY(), "Y");=18, DATEDIF($B2, TODAY(), "Y");=65) 为了强调年龄 65(蓝色)。 =DATEDIF($B2, TODAY(), "Y");65

要根据上述公式创建规则,选择你想突出显示的单元格或整行,到 首页 标签; 风格 组,并点击 条件性格式化 ; 新规则... ; 使用一个公式来决定哪些单元格需要格式化 .

详细的步骤可以在这里找到:如何根据公式制作条件格式化规则。

这就是在Excel中计算年龄的方法。 我希望这些公式对你来说很容易学习,你会在你的工作表中尝试一下。 谢谢你的阅读,希望下周能在我们的博客上见到你

可用的下载

Excel年龄计算的例子(.xlsx文件)。

终极套装14天全功能版(.exe文件)。



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3