当答案可能为负数时,如何计算 Sharepoint 中两个日期之间经过的时间?

How to calculate the elapsed time between two dates in Sharepoint when the answer may be a negative number?

我正在研究 Sharepoint 2013 公式,该公式将计算两个日期之间的时间(以天为单位)。我已经用这个公式成功地做到了:

=DATEDIF(Created,[Sold On],"d")

但是,在某些情况下,创建日期会在销售日期之后,因此天数将为负数。我尝试了以下公式:

1) =IF(ISERROR(DATEDIF(Date1,Date2,"d")), -DATEDIF(Date2,Date1,"d"))

2) =IF(ISERROR(DATEDIF(Created,Sold On,"d")), -DATEDIF(Sold On,Created,"d"),DATEDIF(Created,Sold On,"d"))

3) =IF(ISERROR(DATEDIF(Created,[Sold On],"d")), -DATEDIF(Sold On,[Created],"d"))

4) =IF(ISERROR(DATEDIF(Created,[Sold On],"d")), -DATEDIF(Sold On,[Created],"d"),DATEDIF(Created,[Sold On],"d"))

我在 Sharepoint 论坛上找到了这些示例。 None 这些公式对我有用。 Sharepoint 为每个抛出一个语法错误。我什至认为我在上述每一个的末尾都检测到了一个缺少的右括号,并尝试了每一个方法。仍然抛出语法错误。有什么建议吗?

DATEDIF return如果结果为负,则为错误,因此在 IF 的第二个 DATEDIF 中,反转日期的顺序。

虽然错误测试可能有效,但这样更简洁:

=IF(created<[Sold On], DATEDIF(created, [Sold On],"d"), DATEDIF([Sold On],created,"d"))

当创建时间晚于销售日期时 return 负数:

=IF(created<[Sold On], DATEDIF(created, [Sold On],"d"), -DATEDIF([Sold On],created,"d"))