【问题标题】:Formula to compare time values比较时间值的公式
【发布时间】:2014-10-18 10:43:49
【问题描述】:

下面的 excel 公式工作正常,但在某些情况下它没有给我适当的价值。

输入:

19:20:42
24:58:36
26:11:18

使用此公式后:

 =IF(TIMEVALUE(K7)>TIMEVALUE("09:00:00"),TRUE,FALSE)

我得到以下输出:

FALSE
TRUE
TRUE

如果时间值是 > 或 = 24:00:00,我观察到的内容不会给我正确的答案。 我该如何解决这个问题?

【问题讨论】:

    标签: excel excel-formula excel-2007 excel-2010 vba


    【解决方案1】:

    作为队长出色答案的替代方法,您还可以使用:

    =IF(K7>(9/24),TRUE,FALSE)
    

    DateTime 值在内部存储为自 1900 年 1 月 1 日以来的天数,
    因此 1 = 1 天 = 24 小时。所以 9/24 = 0.375 = 9 小时 :-)

    您可以通过清除 DateTime 单元格的格式轻松验证这一点。


    编辑:注意这样的布尔公式可以用更短的方式表达而不会失去可读性:

    =K7>(9/24)
    

    【讨论】:

    • 您可能需要在 iDevlop 的宏伟答案中使用VALUE(K7),因为它看起来像,从您的示例中,您的“时间”为TEXT...
    【解决方案2】:

    当您超过 24 小时时,Excel 将其计为第二天...然后 TIMEVALUE 是第二天的时间(即您的示例中的 00:58:36 和 02:11:18)和因此,可以在 0900 之前。 您可以使用DATEVALUE(K7)+TIMEVALUE(K7) 来确保您也计算当天的部分...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-04
      • 1970-01-01
      • 2016-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多