某些日期在计算时无法通过查找识别,但在手动输入时会识别

Some Dates not recognized with Lookup when Calculated, but will when manually typed

我很困惑,花了很长时间才弄明白这个问题。我不知道为什么要这样做,也不知道如何解决。我希望有人可以 guide/help 这个。

我有一张工作表。在该工作表中,有一个日期列和一个公式。该公式将匹配同一日期(或查找日期)但在该日期前 2 小时。然后它 return 是 B 列中的一个数字。

问题是当我计算日期时它会识别一些日期而不是其他日期。它无法识别的同一日期,如果我手动输入日期(然后使用该单元格作为查找参考,它将起作用。

我在测试中发现的另一件事是,我没有增加 2 小时,而是增加了 2 小时 1 分钟,这样特定日期可能会起作用。但该解决方案不适用于所有无效的日期。每一个都需要不同的时间调整(以分钟为单位。也许一个需要 1 个,一个需要 3 个,等等)来完成工作。所以这不是解决方案。

我测试发现:

这里是工作表 1 的示例:6/1/2020 9:12。这是日期的单元格引用。然后我转到 Sheet2,它看起来像 A 列和 B 列:43983.30 1.1118。 A 列有一个按分钟排序的日期和值列表,B 列中有一个值。我将采用 6/1/2020 9:12 日期,然后减去 2 小时得到 6/1/2020 7:12。在数字形式中,这是根据 Sheet1 中的日期计算的 43983.3。然后,我在 Sheet2!A:A 中查找这个日期以找到相同的日期,然后是 return B 列。

所以我很困惑,希望有人能帮助我解决这个问题。提前表示感谢。

听起来您遇到了舍入错误。你试过

Round(calculation,2)

但似乎还不够。您的时间间隔为 1 分钟,在 Excel 中为 0.00069444...

你可以试试

Round(calculation,5)    ' Round to ~1 second resolution

对于一些奇怪的情况,这仍然可能会失败。更安全的方法是使用 TEXT 函数比较字符串,例如

TEXT(timevalue,"mm-dd-yyyy hh:mm")