Google sheets 在谷歌电子表格中计算下一个生日的天数

Google sheets 在谷歌电子表格中计算下一个生日的天数,google-sheets,Google Sheets,我有一个人的出生日期,想计算他/她的下一个生日之前的天数。如何处理闰年和其他“奇怪”的事情?我发现使用WolframAlpha计算天数是最“简单”的方法。使用以下代码: REGEXEXTRACT(JOIN("";ImportXML(JOIN("";"http://www.wolframalpha.com/input/?i=birthday+";YEAR(A2);"-";MONTH(A2);"-";DAY(A2);"&asynchronous=false&equal=Submit"

我有一个人的出生日期,想计算他/她的下一个生日之前的天数。如何处理闰年和其他“奇怪”的事情?

我发现使用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
是带有此人生日的单元格

使用谷歌电子表格内部功能:

=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用于测试下一个生日是今年还是明年。

使用纯sheets函数的稍短整洁版本是:

=DATE(YEAR(A2)+DATEDIF(A2,TODAY(),"y")+1,MONTH(A2),DAY(A2))-TODAY()
这更简单,并且使用
DATEDIF(…,“y”)
获得已过去的完整年份并添加一年,而不需要在整个计算过程中使用
If


我自己解决了这个问题,然后在上找到了相同的解决方案,其中包括一些更多的解释。

到目前为止,我一直在使用excel存储一些数字和字符串,没有接触过此类技术(如您刚才建议的技术)。你能解释一下如何“运行”这个吗?