【问题标题】:Excel formula to compare datetime stamp with today's dateExcel公式将日期时间戳与今天的日期进行比较
【发布时间】:2021-10-27 01:58:47
【问题描述】:

我正在尝试将一些日期时间戳与昨天的日期进行比较,以便我们可以确定日期时间戳是过期还是在 24 小时内。

Excel 公式

这是我使用的公式:

=(IF((A2)<(TODAY()-1),"Overdue","Within 24h"))

显然,无论我们输入任何日期,它总是采用“24 小时内”(FALSE)。 (测试栏)

我试图将日期时间戳截断为dd/MM/yyyy,但它仍然无法正常工作。 (TEST2 列)。

我尝试使用下面的公式,它们都不起作用。

  1. =(IF(INT(A2)&lt;(TODAY()-1),"Overdue","Within 24h")) ==> 结果“#VALUE!”

  2. =(IF(DATEVALUE(A2)&lt;(TODAY()-1),"Overdue","Within 24h")) ==> 结果“#VALUE!”

【问题讨论】:

  • 我认为 A 列值是字符串而不是真实日期。

标签: excel datetime excel-formula


【解决方案1】:

看来我找到了罪魁祸首。 显然,这是由于“Windows 设置 => 日期、时间和区域格式”。

最初,我的计算机日期格式使用“mm/dd/yyyy”,即“10/27/2021”。 这些公式都不起作用:

  1. =IF(DATEVALUE(LEFT(A2,SEARCH(":?? ",A2)+2)) &lt; TODAY()-1,"Over","OK")
  2. =(IF(INT(B2)&lt;(TODAY()-1),"Overdue","Within 24h"))
  3. =(IF(DATEVALUE(B2)&lt;(TODAY()-1),"Overdue","Within 24h"))

在我将日期格式更改为“dd/mm/yyyy”并重新启动计算机后。 突然间,所有这些公式都起作用了,因为(在我看来)excel 能够将 A 列识别为文本。

【讨论】:

    【解决方案2】:

    我不得不说,您单元格中那些左对齐的日期看起来非常可疑。您确定它们没有格式化为文本吗?

    如果它们是文本,那么您需要将它们转换为日期。您已接近最后一个公式,但那些秒/毫秒(如果是这样的话)导致 DATEVALUE() 函数失败。

    最简单的方法可能是去掉这些秒/毫秒,然后将您的日期与结果字符串进行比较。假设日期为文本在单元格 A1 中,公式为:

    =IF(DATEVALUE(LEFT(A1,SEARCH(":?? ",A1)+2)) < TODAY()-1,"Over","OK")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-03
      • 1970-01-01
      相关资源
      最近更新 更多