我有一个 Excel 电子表格,其中有一列包含特定事件的日期和时间。我想将此四舍五入到最接近的 15 分钟间隔,以便我可以计算此期间的事件总数。进行四舍五入的最佳方法是什么?
11 回答
既然你说你也想要日期,那么这个怎么样:
= (ROUND((A1 * 1440) / 15, 0) * 15) / 1440
假设 A1 具有您想要的日期/时间值。这利用了 Excel 中的日期/时间列只是数字这一事实(整数部分是日期,小数部分是时间)
如果要四舍五入到最近的 15:
假设您的时间在单元格 A2 中
我们将把新的时间放到 B2 中:
B2 =TIME(HOUR(A2), ROUND((MINUTE(A2)/60)*4, 0) * 15, 0)
如果您想始终向上或向下舍入,则将 ROUND 替换为 ROUNDUP 或 ROUNDDOWN
简单的:
- 如果向上取整 =CEILING(A1,"00:15")
- 如果向下取整 =FLOOR(A1, "00:15")
其中 A1 是两者的时间差。它可以是参考或计算:
=CEILING(C2-B2,"00:15")
,其中 C2 是结束时间,B2 是开始时间。
mround 将时间值作为字符串,因此您可以使用
=mround(a1,"0:15")
我认为这是最短和最清晰的方法。
日期和时间四舍五入到最近的 15 分钟周期(您始终可以使用类似 INT 的方法向上/向下舍入):
=DATE(YEAR(B1),MONTH(B1),DAY(B1))+TIME(HOUR(B1), ROUND(MINUTE(B1)/15,0)*15, 0)
假设单元格 B1 包含要四舍五入的日期时间。这将以典型的序列日期方式返回数字(例如 39846.64444 = 02/02/2009 15:28),您需要将结果单元格格式化为日期/时间以查看该值(与此问题的所有解决方案一样)。一起显示日期和时间不是标准的日期或时间格式,您需要自定义格式来执行此操作。
刚刚发现了一个有用的函数 MROUND,它在 Excel 2007 中可用,并作为分析加载项提供。
假设您的时间在 B2 中,用 8.43 之类的数字表示 8 小时 25.8 分钟:
=MROUND(MOD(B2,1)*60,15)
MOD(B2,1) 将提取小数 0.43;*60 将转换为 25.8;MROUND 会将您四舍五入到最接近 15 的倍数,即 30。
假设您有 2 个日期时间,并且您想要找到总数并四舍五入到最接近的 15 分钟:
A1 = 7/10/2014 16:10
A2 = 7/10/2014 17:49
首先得到十进制小时的总数:
A3: =(A2-A1)*24
然后你可以四舍五入到最接近的一刻钟:
A4: =Ceiling(A3, .25)
或者在一个单元格上完成所有操作:
A3: =Ceiling((A2-A1)*24, .25)
如果时间在单元格 A1 中:
=ROUND(A1*(24*60/15),0)/(24*60/15)
(四舍五入到最接近的 15 分钟增量)
或者
=INT(A1*(24*60/15),0)/(24*60/15)
(四舍五入到最后 15 分钟增量)
更简单??
=B2-MOD(B2,15/24/60)
知道对于 Excel 1 天 = 24 小时 = 1,
15/24/60 (= 0.0104166666666667) 是相当于 15 分钟的数值。
这对我有用
=CEILING(((MOD(D16-C16;1))*24);0,25)
它首先以小时为单位计算两个不同时间 C16 和 D16 的时间差。然后四舍五入。
把事情简单化。四舍五入到最接近的 15 分钟间隔。
= ROUND(B2 * 24 * 4, 0) / 4 / 24