在 Excel 中查找时间差异

在 Excel 中查找时间差异

我有生物识别考勤设备的数据,我的任务是创建一份员工每天迟到情况的报告。

  1. 我有 A 列,格式为 h:mm:ss AM/PM
  2. 我有 B 列,格式为 h:mm:ss AM/PM

只有当 A 列中的时间状态大于 B 列中的时间时,我才需要分别计算 C 列和 D 列中小时和分钟的时间差

|   Column A    |   Column B   |  Column C  |    Column D  |
|  8:23:00 AM   |  9:00:00 AM  |     0      |       0      |
|  9:00:00 AM   |  9:00:00 AM  |     0      |       0      |
| 10:05:00 AM   |  9:00:00 AM  |    01      |       05     |

请帮忙!!我已经被这个问题困扰了三天了 :(

答案1

希望下面的图片能有所帮助。确保在分钟公式中添加 x 1440(一天的分钟数)并减去上一列中的 60 分钟乘以小时数。

在此处输入图片描述

在此处输入图片描述

布拉德

答案2

与 Excel 中的许多功能一样,有很多方法可以实现这一点。下面是另一种方法。

首先,要认识到格式无关紧要。时间以一天的小数形式存储。从中,您可以选择一种格式以您想要的任何人为可读的形式显示它,或者只显示派生的时间组件(就像 BradR 使用 TEXT 函数只显示小时数一样,Excel 找到了如何从时间值中提取小时数的方法)。

由于 Excel 将所有时间值视为一天的分数,因此无论您如何格式化,其内部单位都是相同的。因此,您可以对时间进行简单的算术运算。您无需提取人性化的单位(例如小时或分钟)并使用这些单位;可以通过格式化或使用时间函数对结果进行操作。

在此处输入图片描述

要仅当 A1 大于 B1 时获取时间差,可以使用:

=MAX(0,A1-B1)

如果减法结果为负数(因为 A1 小于 B1),MAX 将返回0。要仅显示特定时间单位,可以使用时间函数。HOUR 返回时间值中包含的整小时数,MINUTE 返回整分钟数。C 列和 D 列仅使用相关函数包装时间差。

C1:  =HOUR(MAX(0,A1-B1))
D1:  =MINUTE(MAX(0,A1-B1))

相关内容