在Microsoft Excel中计算年龄的4种方法

admin

Updated on:

在Microsoft Excel中计算年龄的4种方法

在Microsoft Excel中计算年龄的4种方法

本 Excel 教程是掌握 Excel 中年龄计算的终极指南。无论您处理的是人员、对象、商业资产、商业项目还是保险记录,学习如何在 Excel 中计算年龄都是必不可少的。

计算个人或物品的年龄时,关键是缩小两个日期之间的差距。对于人类来说,这通常从他们的出生日期 (DOB) 开始。另一种方法是将个人或物品的年龄投射到未来的时间范围内。

然而,此类计算涉及日期导航,尤其是与月份中不同天数相关的复杂性。这就是 Excel 的年龄计算技术可以为您提供帮助的地方。此外,通过学习本文概述的方法,您将能够在几秒钟内计算出数千名受试者的年龄。

推荐:在Windows 10/11中一次创建多个文件夹的方法

学习如何在 Excel 中计算年龄的原因

这就是为什么你必须掌握Excel中各种年龄计算的技能:

  1. 快速计算个人、物体或数据集的年龄,无需手动计算。
  2. 利用 Excel 的日期函数进行精确的年龄计算,从而减少错误。
  3. 它适用于多种场景,包括人员、项目、资产等。
  4. 确保无论月份长度如何,年龄计算都是统一的。
  5. 项目页面指向特定的未来日期,以便进行规划和分析。
  6. 您可以立即对年龄数据进行进一步的数据分析或可视化。
  7. 将年龄计算整合到更大的数据处理工作流程中。
  8. 通过解决与日期相关的复杂挑战来培养解决问题的能力。

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

在撰写本文时,最新的 Excel 桌面应用程序是适用于 Microsoft 365 的 Excel,并且 Excel 公式选项卡上没有用于计算年龄的专用命令块。Excel 中也没有任何直接的公式来计算年龄。

但是,您可以使用 Excel 中计算日期的其他各种函数。因此,当您按照 Excel 中的手动方法求解年龄或衰老时,您必须记住一些有用的公式。

Excel 公式和数学运算符除法计算年龄的最简单的组合是 今天() 并将迄今为止的时间除以 365,即可得到一个人或物体的大致年龄。但是,您还必须知道人类的出生日期以及物体或项目的开始日期。

在Microsoft Excel中计算年龄的4种方法
在Microsoft Excel中计算年龄的4种方法
使用 TODAY 函数根据出生日期在 Excel 中计算年龄

当给定出生日期或开始日期时,您可以按照以下方法计算年龄:

  1. 在目标单元格中​​输入以下公式:
=INT((TODAY()-B2)/365)
  1. 在上面的公式中, B2出生日期 或开始日期。
  2. 进入,即可得到整数形式的年龄值(以年为单位)。

另一个可用于计算人员或事物从开始日期到结束日期的年龄的 Excel 函数是 年份分数 公式。

YEARFRAC 语法
YEARFRAC 语法

公式允许您输入参数,以便 Excel 了解您要使用的天数计数基础。例如,您可以使用数字 04 以表示 美国(纳斯达克)30/360实际/实际实际/360实际/365, 和 欧洲 30/360 分别。

您可以按照以下步骤使用此函数来计算两个日期之间的项目长度或出生日期与特定日期之间的人员年龄:

  1. 突出显示目标单元格并输入以下公式:
=ROUNDDOWN(YEARFRAC(B2,C2,1),0)
  1. 进入 得到四舍五入的年龄。

在上面的公式中, B2 是开始日期或 出生日期C2 表示您要计算年龄或项目长度的具体日期。因此,请根据您自己的工作表自定义公式。

到目前为止提到的方法都只能计算完整年份的年龄。如果您需要计算年份、月份和日期的年龄怎么办?在这种情况下,您可以使用嵌套的 DATEDIF 和 IF 公式,并使用逗号分隔每个值,并将值定义为年份、月份和日期。

IF 函数可确保您不会得到 0 值,如 0 年、0 个月、0 天等。因此,结果值读取起来很好,并且数据集保持紧凑。

使用 TODAY 函数根据出生日期在 Excel 中计算年龄
使用 TODAY 函数根据出生日期在 Excel 中计算年龄

以下是您可以使用的语法和公式自定义的说明:

  1. 假设你得到 出生日期 中的值 B栏截至日期 中的值 C 栏
  2. 强调 D2 并输入以下公式:
=IF(DATEDIF(B2, C2, "y") > 0, DATEDIF(B2, C2, "y") & " years ", "") &
IF(DATEDIF(B2, C2, "ym") > 0, DATEDIF(B2, C2, "ym") & " months ", "") &
IF(DATEDIF(B2, C2, "md") > 0, DATEDIF(B2, C2, "md") & " days", "")
  1. 进入 获取年龄值 D2 采用以下格式: X年X月X日

自定义上述公式的方法如下:

  • 代替 B2 在工作表上提供人员出生日期或项目开始日期的准确单元格引用。
  • 另外,更换 C2 使用数据集中您想要计算年龄的具体日期的精确单元格地址。
  • 如果您不想在年龄计算中加入天数,只需删除代码元素后的所有内容即可 DATEDIF(B2, C2, "ym") & " months ", "")

推荐:如何使用谷歌浏览器检查密码泄露

如何在 Excel 中计算年龄

使用 Excel,你可以轻松预测一个人实现 岁。假设你朋友的 出生日期 是 1995 年 5 月 15 日。现在,您想知道她什么时候会满 75 岁。使用以下公式并按照步骤进行练习:

  1. 假设你有 出生日期B栏截至年份C 栏
  2. 选择 D2 并在单元格中输入以下公式:
=TEXT(DATE(YEAR(B2)+C2,MONTH(B2),DAY(B2)),"mm-dd-yyyy")
  1. 进入 获取你的朋友转身的日期 75

在上面的公式中, B2 表示开始日期或 出生日期C2 表示一个人的年龄或一个项目的跨度(以年为单位)。

使用 Excel VBA 计算 Excel 中的年龄

假设您不想执行所有这些点击或记住在 Excel 中计算年龄的函数。在这种情况下,您可以使用 Excel VBA 编写脚本并自动化整个过程。

创建 VBA 宏来计算年龄
创建 VBA 宏来计算年龄

不知道如何写 Excel VBA 脚本 如何在 Excel 中计算年龄?没问题!下面有一个您可以立即使用的便捷脚本。为了帮助您,我还提到了您可以遵循的步骤:

  1. Alt + F11 调用 Excel VBA 编辑器
  2. 点击 插入 顶部工具栏上的菜单按钮。
  3. 在打开的上下文菜单中,单击 模块
  4. 在空白模块中,复制并粘贴以下内容 Excel VBA 脚本
Sub CalculateAge()
    Dim ws As Worksheet
    Dim dobRange As Range
    Dim tillDateRange As Range
    Dim resultRange As Range
    Dim dobCell As Range
    Dim tillDateCell As Range
    Dim ageYears As Long
    Dim ageMonths As Long
    Dim ageDays As Long

    Set ws = ThisWorkbook.Sheets("Sheet5")
    Set dobRange = ws.Range("B2:B6")
    Set tillDateRange = ws.Range("C2:C6")
    Set resultRange = ws.Range("D2:D6")

    For Each dobCell In dobRange
        Set tillDateCell = tillDateRange.Cells(dobCell.Row - dobRange.Row + 1)
        ageYears = DateDiff("yyyy", dobCell.Value, tillDateCell.Value)
        ageMonths = DateDiff("m", dobCell.Value, tillDateCell.Value) Mod 12
        ageDays = DateDiff("d", DateSerial(Year(tillDateCell.Value), Month(tillDateCell.Value), 1), tillDateCell.Value)
        resultRange.Cells(dobCell.Row - dobRange.Row + 1).Value = _
            IIf(ageYears > 0, ageYears & " years ", "") & _
            IIf(ageMonths > 0, ageMonths & " months ", "") & _
            IIf(ageDays > 0, ageDays & " days", "")
    Next dobCell
End Sub
  1. 点击 节省 按钮将脚本保存为无宏工作簿。
  2. 关上 Excel VBA 编辑器
如何运行 VBA 宏
如何运行 VBA 宏

到目前为止,您已经创建了一个 VBA 宏。现在,了解如何执行脚本:

  1. Alt + F8 打开的钥匙 对话框。
  2. 选择 计算年龄 宏。
  3. 跑步 在 Excel 中自动计算年龄。

以下是自定义 VBA 脚本的说明:

  • 代替 Sheet5 使用您正在处理的确切工作表名称。
  • 如果您的输入 出生日期 数据位于除以下单元格区域之外的任何其他单元格区域 B2:B6,在代码中也更改此引用。
  • C2:C6 单元格引用代表 至今 或者 截至日期 值。您还需要自定义此单元格引用。
  • D2:D6 单元格区域代表计算结果的目的地,根据输入数据的大小将其更改为另一个单元格引用。

推荐:如何在Microsoft Edge中使用Edge Bar

使用 Office 脚本在 Excel 中计算年龄

Excel 中的另一种高级自动化方法是 Office 脚本。与 Excel VBA 一样,此功能允许您使用 TypeScripts 语言编写脚本,以指示 Excel 自动执行数据分析。此功能的一个优点是它既适用于 Microsoft 365 桌面版 Excel,也适用于网页版 Excel。

使用 Office 脚本在 Excel 中计算年龄
使用 Office 脚本在 Excel 中计算年龄

找到以下 Office 脚本代码,用于根据出生日期和截至日期计算年、月、日的年龄:

  1. 点击 自动化 Excel 桌面或 Web 应用程序上的选项卡。
  2. 选择 新脚本 选项来自 脚本工具 堵塞。
  3. 复制并粘贴以下脚本 代码编辑器
function main(workbook: ExcelScript.Workbook) {
	let selectedSheet = workbook.getActiveWorksheet();
	// Set range D2 on selectedSheet
	selectedSheet.getRange("D2").setFormulaLocal("=IF(DATEDIF(B2,C2,\"y\")>0, DATEDIF(B2,C2,\"y\") & \"years\",\" \") & IF(DATEDIF(B2,C2,\"ym\")>0, DATEDIF(B2,C2,\"ym\") &\"months\",\" \") & IF(DATEDIF(B2,C2,\"md\")>0, DATEDIF(B2,C2,\"md\")& \"days\",\" \")");
	// Auto fill range
	selectedSheet.getRange("D2").autoFill("D2:D6", ExcelScript.AutoFillType.fillDefault);
}
  1. 点击 保存脚本 按钮保存以供将来使用。
  2. 跑步 按钮来计算年龄值。
  3. Excel 将结果填充到 D 列

以下是自定义上述脚本以适合您的 Excel 工作表及其数据集的快速提示:

  • 代替 D2 使用您希望发生第一次计算的单元格地址。
  • 您还需要更改单元格引用的出现次数 B2C2 如果 出生日期截至日期 值不在这些列中。请参阅上图以了解详情。
  • 上述脚本使用 自动填充 复制并粘贴功能 日期差值 嵌套公式到其他单元格中 D 列, 从 D2:D6。如果您需要增加行数,请相应地更改此范围,例如 D2:D100

📝 笔记:Office 脚本的可用性取决于您或您的公司使用的 Microsoft 365 订阅。如果您的订阅是 Business Standard 或更高版本,您将在 Excel 网页版中找到该功能。对于 Excel 桌面应用程序,您必须从 Microsoft 365 Home 门户下载 Excel for Microsoft 365 应用程序。

结论

这篇文章探讨了三种不同的 Excel 公式,用于根据出生日期或开始日期(当它是一个项目或商业资产时)在 Excel 中计算年龄。

此外,您还探索了两种不同的自动化方法,即 Excel VBA 和 Office Script,以自动执行 Excel 中的任务。

使用您自己的数据集按照以下步骤操作。不要忘记在下面发表评论,分享您尝试上述方法时的想法、建议或经验。

推荐:多功能WordPress主题Avas Theme


发表评论