Как рассчитать прошедшее время между двумя датами в Sharepoint, когда ответ может быть отрицательным числом?
Я работаю над формулой Sharepoint 2013, которая будет рассчитывать время в днях между двумя датами. Я успешно сделал это с помощью этой формулы:
= DATEDIF (Создано,[Продано Вкл.,"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. Ни одна из этих формул не сработала для меня. Sharepoint выдал синтаксическую ошибку для каждого. Я даже думал, что обнаружил пропущенные закрывающие скобки в конце каждого из вышеперечисленных и пробовал каждый таким образом. Еще скинул синтаксические ошибки. Какие-либо предложения?
1 ответ
DATEDIF возвращает ошибку, если результат отрицательный, поэтому во втором DATEDIF в IF, обратный порядок дат.
Хотя тест на ошибку может работать, это немного чище:
=IF(created<[Sold On], DATEDIF(created, [Sold On],"d"), DATEDIF([Sold On],created,"d"))
Чтобы вернуть отрицательный результат, если значение Создано после даты продажи:
=IF(created<[Sold On], DATEDIF(created, [Sold On],"d"), -DATEDIF([Sold On],created,"d"))