合并 (hour, minute, am/pm) 列两次,然后计算经过的分钟数

Combine (hour, minute, am/pm) columns for two times, then calculate minutes elapsed

我需要在 google sheet 上输入时间和时间。它必须精确到分钟,所以我有一个小时、分钟和 am/pm 的列。我的目标是在连续时间和超时之间经过的分钟数。

我还没有找到将所有三列组合成一个时间的方法,尤其是混合中的 am/pm 列。然后随后做一个公式来查找经过的分钟数。我不太精通 spreadsheet 公式,所以如果有更简单的方法可以实现我的目标,请告诉我。

已附上 google sheet 列的屏幕截图。感谢任何可以提供帮助的人。

列截图:

TIME(HOUR,MINUTES,SECONDS)

这是一个可用于将整数转换为 excel 中的时间的公式。我不知道它是否适用于 Google 表格。我将继续使用 excel 解决方案,假设公式在 google sheet 中是相同的,或者有一个等价物。

假设您的数据布局如下图所示,您可以使用以下公式将您的时间转换为价差sheet 可以使用的实际时间。还有其他解决方案。

=TIME(A1+IF(AND(C1="PM",A1<12),12,0),B1,0)

这会将你们分开的时间转换为分散的 sheet 时间。对 OUT 时间做同样的事情如下:

=TIME(D1+IF(AND(F1="PM",D1<12),12,0),E1,0)+IF(TIME(D1+IF(AND(F1="PM",D1<12),12,0),E1,0)<TIME(A1+IF(AND(C1="PM",A1<12),12,0),B1,0),1,0)

关于检查时间并添加 1 或 0 的整个其他部分是,如果输出时间更短,则假设时间是第二天。天数用整数表示,时间用小数表示。

既然您已经有了确定两个时间的方法,请在单个单元格中使用以下公式从较小的时间中减去较大的时间:

=(TIME(D1+IF(AND(F1="PM",D1<12),12,0),E1,0)+IF(TIME(D1+IF(AND(F1="PM",D1<12),12,0),E1,0)<TIME(A1+IF(AND(C1="PM",A1<12),12,0),B1,0),1,0))-(TIME(A1+IF(AND(C1="PM",A1<12),12,0),B1,0))

替代方法

将所有内容转换为分钟,取差值。

第一次转换为分钟将是:

=(A1+IF(AND(C1="PM",A1<12),12,0))*60+B1

第二次转换为分钟将是:

=(D1+IF(AND(F1="PM",D1<12),12,0))*60+E1+IF(((D1+IF(AND(F1="PM",D1<12),12,0))*60+E1)<((A1+IF(AND(C1="PM",A1<12),12,0))*60+B1),24*60,0)

现在您只需要计算单个单元格中的分钟数:

=((D1+IF(AND(F1="PM",D1<12),12,0))*60+E1+IF(((D1+IF(AND(F1="PM",D1<12),12,0))*60+E1)<((A1+IF(AND(C1="PM",A1<12),12,0))*60+B1),24*60,0))-((A1+IF(AND(C1="PM",A1<12),12,0))*60+B1)