在 Excel 中查找最新时间

在 Excel 中查找最新时间

新闻报纸版面发布时间

我只想找到一个时间范围内的最大/最晚时间,我MAX总是使用函数来查找,但如果时间超过午夜(00:00),那么它只会给出截至 23:59 的最大时间。我需要最晚时间,即使超过午夜,例如 00:50、01:30 等。例如,我得到了 23:00、23:30、23:45、00:15、01:30 等最晚的输出时间。

请帮我获取最新时间表

答案1

您的数据布局和数据输入方法存在一些不太好的方面。但是,这类事情通常超出了电子表格编写者的控制范围,因此问题始终是“是否可以在不改变任何内容的情况下完成,还是不能?”(“不能”包括可以找到可行解决方案但失败次数足够多或失败程度足够微妙以致于导致严重问题的情况。)

但是,这是可以做到的,尽管在使用下面的公式时,您需要做出一些决定。其中一个似乎不太可能成为问题,但另一个,虽然在大多数情况下可能很容易选择一个值,但仍可能会产生一个新的“边界”,其中会出现一些不确定的情况,因此,除非您仔细考虑并解决它,否则偶尔会成为一个问题。在经历了一些不愉快的事件之后(唉……遗憾的是,这是通常的路径),您将获得一些数据来帮助解决这个问题。

那么,今天设置的公式是:

=LET(Range,  INDEX(B2:B12, SEQUENCE(6,1,1,2), 1),

MAX(IF(Range+1 > MAX(Range) + 3/24, Range, Range+1))
)

如果您没有LET()可用的,只需Range在出现的每个位置替换其值并删除LET()特定部分。

本质上,公式会获取这些值,找到最大值,也就是最接近午夜的值,然后为其添加小时数。3在本例中为小时数 ( 3/24),可以通过更改该术语的值来更改,或者将其更改为可以在公式外部设置的单元格引用,或者向中添加变量LET()以便于更改。因此,该值非常重要。我选择了“3”,这个数字(可能)合理,但仍然不切实际。您需要考虑这个想法并选择一个合适的。如果印刷运行的部分总是在 2 小时内开始,那么 3-4-5 可能是不错的值。如果时间更长,那么更高的值似乎更合理。

调整后,MAX()会找到该值,并且所有原始值(未通过“+3/24”调整)都会1添加到这些值中。1因为 1 = 24/24,换句话说,就是整整一天。这些值与之前找到的“调整 3 小时的最大值”进行比较,超过调整 3 小时的值则被假定为跨越到第二天(跨越午夜)的时间。如果是这样,则在公式中向前传递“+1”值,如果不是,则向前传递原始值。

然后MAX()找到这些结果,这就是最新的时间。

(添加一些小时的步骤是为了能够IF()测试跨越午夜。)

的公式Range只是一个INDEX()函数,用于提取 B2:B13 范围内的数据中的每隔一行。这是必需的,因为您已经合并了单元格以处理导致其他每个单元格中都有空白的问题。您不能轻易使用 B2:B13,因为公式的方法会产生一堆虚假值。使用您的数据集,实际上不会出现任何问题,但如果页面的运行恰好在午夜开始(“00:00”,在 Excel 中为“0”)怎么办?您可以将它们分离出来,但这样做会比上面的公式更难,而且这样做但不丢失真正的“0”条目会更难。为什么不错过那团蠕虫呢?

为了将来的改进,如果您可以说服导致此部分单元格合并的输入数据源做出更改,允许这些数据位于正常单元格中,则可以简化公式及其可理解性。如果时间数据实际上来自其他地方,而公式将其放在此处,也许您可​​以说服用户允许它仍然位于正常单元格中,并且每两个单元格组的上方或下方都有空白。

对源材料更重要的改进是时间的数据输入。如果这些时间包含日期信息,那么公式就是一个简单的单函数MAX()公式。它仍然可以格式化为简单时间显示,而不是日期和时间,因此看起来与当前显示相同,但​​有很大不同。

Excel 将日期存储为整数,将时间存储为小数。因此,日期和时间是整数与小数的配对,例如 1.045138889。如果今天是第 45000 天,那么它应该是 45000.04513889,而昨天 23:15 应该是 44999.96875。因此,MAX()可以轻松找到最新的日期和时间。

(这可能比我所暗示的要容易。您在示例中的构造表明这些时间来自直接输入以外的其他来源。也许吧。但如果是这样,它们很可能带有日期和时间,并且日期被剥离以仅留下时间。如果是这样,可以调整这些公式以不这样做。)

相关内容