如何仅在 Google 工作表中根据年份计算年龄
How to Calculate Age from Year Only in Google Sheets
我在 A 列中有购买汽车的年份。例如,2015 年。我正在尝试将 A 列中提供的年份与 arrayformula 中的 TODAY() 进行比较来计算车辆的年龄,如下所示...
={"Vehicle Age";arrayformula(if(A2:A="",,(datedif(A2:A,today(),"Y"))))}
出于某种原因,它为我指定了年份的每个单元格提供了数字 115 作为结果。知道为什么吗?我似乎无法在互联网上的任何地方找到这个问题的答案。
感谢您的帮助!
可以这么说,你在这里混合了苹果和橘子。
在内部,Google Sheets 将所有完整日期视为从原点 1899 年 12 月 31 日算起的天数。因此,年 2015 年自己,与完整日期相比,将被视为自 1899 年 12 月 31 日(或 1905 年 7 月 7 日——这是 115 多年前,与任何相对较近的年份的情况一样)以来的 2015 天,因为它们都将被 Sheets 以原始形式解释为 1905 年 6 月下旬至 7 月上旬的一组天数)。
相反,您只想比较 年 ,这意味着从 TODAY() 中提取年份,因为 A2:A 已经是仅限年份的数字:
={"Vehicle Age";arrayformula(if(A2:A="",,year(TODAY())-A2:A))}
但是,由于任何年份的车型实际上都是前一年发布的,因此您可能需要在公式中添加年份:
={"Vehicle Age";arrayformula(if(A2:A="",,year((TODAY())-A2:A)+1))}
当然,您也可以将您的A2:A年变成真实的日期(例如,列出的每一年的1月1日),然后使用datedif
还有:
={"Vehicle Age";arrayformula(if(A2:A="",,datedif(DATE(A2:A,1,1),today(),"Y")))}
...或加上额外的一年...
={"Vehicle Age";arrayformula(if(A2:A="",,datedif(DATE(A2:A,1,1),today(),"Y")+1))}
我在 A 列中有购买汽车的年份。例如,2015 年。我正在尝试将 A 列中提供的年份与 arrayformula 中的 TODAY() 进行比较来计算车辆的年龄,如下所示...
={"Vehicle Age";arrayformula(if(A2:A="",,(datedif(A2:A,today(),"Y"))))}
出于某种原因,它为我指定了年份的每个单元格提供了数字 115 作为结果。知道为什么吗?我似乎无法在互联网上的任何地方找到这个问题的答案。
感谢您的帮助!
可以这么说,你在这里混合了苹果和橘子。
在内部,Google Sheets 将所有完整日期视为从原点 1899 年 12 月 31 日算起的天数。因此,年 2015 年自己,与完整日期相比,将被视为自 1899 年 12 月 31 日(或 1905 年 7 月 7 日——这是 115 多年前,与任何相对较近的年份的情况一样)以来的 2015 天,因为它们都将被 Sheets 以原始形式解释为 1905 年 6 月下旬至 7 月上旬的一组天数)。
相反,您只想比较 年 ,这意味着从 TODAY() 中提取年份,因为 A2:A 已经是仅限年份的数字:
={"Vehicle Age";arrayformula(if(A2:A="",,year(TODAY())-A2:A))}
但是,由于任何年份的车型实际上都是前一年发布的,因此您可能需要在公式中添加年份:
={"Vehicle Age";arrayformula(if(A2:A="",,year((TODAY())-A2:A)+1))}
当然,您也可以将您的A2:A年变成真实的日期(例如,列出的每一年的1月1日),然后使用datedif
还有:
={"Vehicle Age";arrayformula(if(A2:A="",,datedif(DATE(A2:A,1,1),today(),"Y")))}
...或加上额外的一年...
={"Vehicle Age";arrayformula(if(A2:A="",,datedif(DATE(A2:A,1,1),today(),"Y")+1))}