如何在Google Sheets中计算两个就寝时间的分钟差(非时间流逝)
Google Sheets 计算就寝时间的最小正分钟差
需求说明
需要计算两个就寝时间的分钟差,忽略日期,取两个时间在24小时循环内的最小正间隔(始终返回两段时间中较短那段的分钟数),对应示例如下:
| BEDTIME 1 | BEDTIME 2 | DIFF IN MINS |
|---|---|---|
| 9:00 PM | 9:15 PM | 15 |
| 9:00 PM | 10:00 PM | 60 |
| 11:30 PM | 1:00 AM | 90 |
| 1:00 AM | 11:00 PM | 120 |
解决方案
根据单元格内容的格式,选择以下两种公式之一:
情况1:单元格为时间格式
假设就寝时间1在A1,就寝时间2在B1,在C1输入公式:
=MIN(MOD(B1-A1,1)*1440, MOD(A1-B1,1)*1440)
- 原理:Google Sheets中时间以“天”为单位存储(如1小时=1/24),
MOD(时间差,1)提取当天内的时间差(范围0~1天),乘以1440转为分钟数;取两个方向时间差的最小值,即为24小时内的最小正间隔。
情况2:单元格为文本格式(如"9:00 PM")
先通过TIMEVALUE将文本转为时间值,再计算:
=MIN(MOD(TIMEVALUE(B1)-TIMEVALUE(A1),1)*1440, MOD(TIMEVALUE(A1)-TIMEVALUE(B1),1)*1440)
验证示例
- 对
11:30 PM(A1)和1:00 AM(B1):MOD(B1-A1,1)*1440得90分钟,MOD(A1-B1,1)*1440得1350分钟,取最小值90,符合预期。 - 对
1:00 AM(A1)和11:00 PM(B1):MOD(B1-A1,1)*1440得1320分钟,MOD(A1-B1,1)*1440得120分钟,取最小值120,符合预期。
内容的提问来源于stack exchange,提问作者Baby Shark
相关产品推荐
相关产品推荐

