我有一个人的出生日期,想要计算他/她下一个生日的天数。如何处理傻瓜和其他“奇怪”的事情?
答案 0 :(得分:3)
使用谷歌电子表格内部功能:
=IF(DATE(YEAR(TODAY()),MONTH(A2),DAY(A2))>TODAY(),
DATE(YEAR(TODAY()),MONTH(A2),DAY(A2)),
DATE(YEAR(TODAY())+1,MONTH(A2),DAY(A2)))
-TODAY()
其中 A2 是具有此人生日的单元格。
开头的 IF 用于测试下一个生日是今年还是明年。
答案 1 :(得分:0)
我发现使用WolframAlpha计算天数是最“简单”的方法。使用以下代码:
REGEXEXTRACT(JOIN("";ImportXML(JOIN("";"http://www.wolframalpha.com/input/?i=birthday+";YEAR(A2);"-";MONTH(A2);"-";DAY(A2);"&asynchronous=false&equal=Submit"); "//script")); "(\d+) days until next")
A2
是具有此人生日的单元格。
答案 2 :(得分:0)
一个使用纯工作表函数的更短更简洁的版本是:
=DATE(YEAR(A2)+DATEDIF(A2,TODAY(),"y")+1,MONTH(A2),DAY(A2))-TODAY()
这更简单,并使用 DATEDIF(...,"y")
获得已过去的完整年份并添加一个,而不需要在整个计算过程中使用 If
。
在自己解决这个问题后,我在 this site 上遇到了相同的解决方案,其中包括更多解释。