【问题标题】:Trying to calculate the difference between two dates试图计算两个日期之间的差异
【发布时间】:2013-08-20 15:54:13
【问题描述】:

我正在尝试计算从创建项目到上次修改项目之间的持续时间。我不确定我的公式有什么问题,因为等式说有 41XXX 天应该是 3。但这不会发生在所有项目上,只有某些项目。

=IF(DATEDIF(Created,Modified,"d")>1,DATEDIF(Created,Modified,"d")&" days ",DATEDIF(Created,Modified,"d")&" day ")&TEXT(Modified-Created,"hh:mm:ss")

【问题讨论】:

    标签: excel sharepoint datediff


    【解决方案1】:

    SharePoint 似乎很困惑,因为它显示 2013 年 8 月 18 日(美国)的数字(整数)表示,即 41504。您的公式直接在 Excel 中显示结果,尽管天数差异是 2,而不是它的 3显示。

    你可以简化它:

    =TEXT(Modified-Created,"d ""day(s)"" hh:mm:ss")
    

    在 Excel 中显示

    2 day(s) 17:34:00
    

    但我无法从 SharePoint 对其进行测试。

    我想如果您真的想显示一天或几天,那么您可以尝试:

    =TEXT(Modified-Created,"d ""day"""&IF(VALUE(TEXT(Modified-Created,"d"))>1,"""s""","")&" hh:mm:ss")
    

    这可能会被简化为(如果 SP 可以应付的话):

    =TEXT(Modified-Created,"d ""day"""&IF(Modified-Created>1,"""s""","")&" hh:mm:ss")
    

    【讨论】:

    • 我会试一试。谢谢。
    • 原来excel中的Column设置为显示为文本,所以才给出数值。一旦我更改了该列,它通常会提供日期。但它说的是三天而不是两天。有错吗?
    • 请注意,TEXT 函数中使用的“d”格式最多只能使用 31 天(因为它实际上显示的是月份中的某天而不是经过的天数),因此对于 32 天+,您可能想要返回更接近你原来的东西
    • DATEDIF 会忽略时间,因此您不会得到准确的答案,请尝试 Andy 的建议,或者如果您需要超过 31 天,请使用 =INT(Modified-Created) 获取经过的全天数
    • 如果你使用=TEXT(Modified-Created,"d ""day(s)"" hh:mm:ss"),那么 d 的天数不会超过 31,所以对于更长的时间你可能需要=INT(Modified-Created)&" day(s) "&TEXT(Modified-Created,"h:mm:ss")
    猜你喜欢
    • 1970-01-01
    • 2013-02-01
    • 1970-01-01
    • 2021-11-25
    • 2011-08-01
    • 1970-01-01
    • 2011-05-21
    相关资源
    最近更新 更多