![在 Excel 中计算年龄加上服务等于特定值的日期](https://linux22.com/image/1581543/%E5%9C%A8%20Excel%20%E4%B8%AD%E8%AE%A1%E7%AE%97%E5%B9%B4%E9%BE%84%E5%8A%A0%E4%B8%8A%E6%9C%8D%E5%8A%A1%E7%AD%89%E4%BA%8E%E7%89%B9%E5%AE%9A%E5%80%BC%E7%9A%84%E6%97%A5%E6%9C%9F.png)
我正在尝试使用 Excel 计算员工年龄和服务年限之和等于 90 的日期。这是为了确定退休资格。
我有两个日期 - 出生日期和入职日期。目前我正在做幼儿园版本,有两列,年龄和服务年限(以月为单位)是根据日期字段计算的,我将未来日期代入其中,直到总和等于 1080(90 岁)。
我正在尝试消除堵塞和喘气的方面,但我无法弄清楚如何将所有这些纳入公式中。
我目前使用的公式:
E:E
= 出生日期F:F
= 雇用日期G2
= 我在此列中的每个字段中输入了可能的退休日期,下面的公式将截至该日期的年龄和服务年限(以月为单位)相加。我不断更改日期,直到总数大于或等于 1080,这是尽可能低的数字(以确定最早的退休资格日期)。G2 = H2=DATEDIF(E2,G2,"m")+DATEDIF(F2,G2,"m")
G2 = H2=[Age in months + years of service in months]
例子:
- G2 = E2 = 出生日期 = 1990 年 5 月 1 日
- G2 = F2 = 雇用日期 = 2011 年 2 月 1 日
- G2 = G2 = 最早退休日期 =2045 年 10 月 1 日
- G2 = H2 = 1081
01-Sep-2045
等于1079
月份,因此01-Oct-2045
是员工有资格退休的第一个月份(年龄 + YOS >= 90 的最早日期)。有没有办法在 Excel 中自动执行此操作,而不是通过反复试验?
答案1
这是我的工作表 C2 中的公式,如下所示,并复制下来:
=32873-((TODAY()-A2)+(TODAY()-B2))+TODAY()
比较
32873
(90 年的日子**)两个量之和:
(TODAY()-A2)
出生以来的天数
(TODAY()-B2)
自雇用以来的天数
了解距离获得资格还剩多少天;
将该天数除以 2,因为我们希望从现在到符合资格的每个日历日都“重复计算”(每一天都计入年龄和任期)
将该时间长度添加到
TODAY()
今天的日期即可找到未来的资格日期。
记录一下,我使用了大约 4-5 列来将它们组合在一起,一步一步,直到我得到满足规范的答案,然后向后组合公式,直到我得到一个总体公式。我实际上甚至没有这个计划来组合这四个值,如图所示,直到我完成了一半的工作,因此能够一次在脑海中包含整个关系。我想象那里是有这样能力的人,但我不是其中之一。
如果您一开始无法看到全貌,那么将此类任务分成几部分直到您能够看到它们应该如何协同工作是一个好方法。
注意我看到既然你扩展了你的问题,那么以月为单位的时间长度对于计算至关重要。@fixer1234 的问题在这里是必要的,以产生比几乎总是正确的更好的结果。
** 感谢 @fixer1234 指出我的错误 - 90 年的天数实际上不是 32850。问题是,在公元 1901 年至 2199 年之间的任何 90 年样本中,日历中都会添加 22 或 23 个闰日,具体取决于计算的时期是在闰年开始还是在闰年结束。因此,这是一个开始,但可能不够精确,具体取决于所涉及的具体政策。