Excel技术问题:如何将时间类型向上取整至下一小时(超1分钟即进位)
解决Excel中时间超过整点1分钟即向上取整到下一小时的问题
方法一:条件判断+取整函数
使用IF结合MOD、CEILING和FLOOR函数,精准控制取整逻辑:
=IF(MOD(A1,1)>=TIME(0,1,0),CEILING(A1,"1:00"),FLOOR(A1,"1:00"))
MOD(A1,1):提取时间里整点之后的时分秒部分(Excel中时间以数值存储,小数部分代表当日内的时间占比)TIME(0,1,0):生成1分钟对应的时间数值,作为判断阈值- 当整点后的时间≥1分钟时,用
CEILING(A1,"1:00")向上取整到下一小时;否则用FLOOR(A1,"1:00")保留当前整点
方法二:偏移后用CEILING函数(更简洁)
通过给原时间减去59秒,再用CEILING取整,简化公式:
=CEILING(A1-TIME(0,0,59),"1:00")
- 若原时间是整点或整点后不足1分钟(如
14:00:00~14:00:59),减去59秒后会落在前一小时的末尾区间,CEILING会自动取回到当前整点 - 若原时间是整点后1分钟及以上(如
14:01:00及以后),减去59秒后仍超过当前整点,CEILING会向上取整到下一小时
示例验证
| 原时间 | 计算结果 |
|---|---|
| 14:00:00 | 14:00 |
| 14:00:59 | 14:00 |
| 14:01:00 | 15:00 |
| 11:24:30 | 12:00 |
内容的提问来源于stack exchange,提问作者Emanuel Boștină
相关产品推荐
相关产品推荐

