如何找出最晚时间和最早时间之间的差值?

如何找出最晚时间和最早时间之间的差值?

我有一组从程序中导出的数据;其范围各不相同。例如,有时一列中有 9 个单元格,有时有 40 个单元格。导出到 Excel 时,列中的第一个单元格是我不需要的文本,最后一个填充单元格之后的列是我不需要的空白单元格。我如何找出最后一个填充单元格和第一个填充单元格之间的时间差?

导出时,每个单元格(不是第一个单元格或空白单元格)中的数据如下所示:4/25/2018 12:10:00 AM。假设我使用的是“B”列,我尝试了以下公式:

=IF(B:B(ISNUMBER), (TEXT(MAX(B:B)-MIN(B:B), "hr:mm:ss")), "")

在我看来,这意味着“如果 B 中的单元格有一个数字,则最大和最小(最晚和最早)时间之间的差值将以小时:分钟:秒的形式出现,否则公式单元格将为空白。”

我究竟做错了什么?

答案1

最大的问题是MAX()MIN()将忽略文本值和空白,因此您所需要的只是:

=MAX(B:B)-MIN(B:B)

要格式化结果,只需Format > Cells...从菜单中选择并选择提供的类别之一。

如果将保存结果的单元格格式化为数字,您将看到一个十进制数,表示天数的差值。如果您为其指定自定义格式[h]:mm:ss,它将以小时、分钟和秒为单位显示结果,即使小时数大于 24。

如果您指定 的格式hh:mm:ss,它将显示小于 24 的小时数,并且不显示任何曾经(或可能曾经)存在的日子。没有“ hr”的小时格式。

请参阅此参考资料以了解如何使用ISNUMBER()。如果您正确地将其写为ISNUMBER(B:B),它将返回True/False整个列的值数组。

我希望这个帮助能祝你好运。

答案2

您的公式没有任何问题。但需要对公式进行简单修改才能正确执行。

你需要确保,

  1. 导入日期和时间的数据范围必须格式为“dd/mm/yyyy hh:mm:ss Am/PM”或“mm/dd/yyyy hh:mm:ss”。

  2. 您要计算时间差的单元格必须格式化为常规格式。

请参阅下面的截图:

在此处输入图片描述

单元格 D57 中的公式是=IF(ISNUMBER(C57:C62),TEXT(MAX(C57:C62)-MIN(C57:C62),"HH:mm:ss"),"")

注:请根据需要调整数据范围。

相关内容