So easy!用数学函数做时间题目才简单

你好,我是刘卓。欢迎来到我的公号,excel函数解析。今天咱们来做几个简单的有关时间的题目。

其实在处理时间数据时,通常用的就是加法和减法。比如计算某个时间n分钟之后的时间、两个时间的间隔时长等。再复杂一点的问题也可以用数学函数结合其他函数来完成。

-01-

具体应用


1.计算停电时长

根据停电时间和来电时间计算停电时长,停电时长的单位要求是小时。在C3单元格输入公式=ROUND((B3-A3)*24,2),向下填充。

用来电时间减去停电时间得到了停电时长,但是这个停电时长的单位是天,所以要乘以24转化为小时数。最后用round四舍五入到小数点后2位。
如果你觉得2.67小时这种看着不方便,也可以用下面的公式:=TEXT(B3-A3,"[h]小时m分钟")。

2.计算通话时长

一般来说,直接用停止通话时间减去开始通话时间就是通话时长。但是你发现C列会有错误的结果,出现一排#号。

这可能是一对热恋的情侣在睡前的甜蜜时刻,从晚上11点一直通话到第2天0点。这样停止时间就比开始时间小了,相减得到的是负数。将负数设置为时间格式就会出现一排#号。

为了解决这个问题,我们可以用mod函数。在D14单元格输入公式=MOD(B14-A14,1)。
如果你理解不了mod函数的公式,还可以做个判断。如果停止通话时间小于开始通话时间,就给停止通话时间加1天,否则加0天。公式为=(B14<A14)+B14-A14或=IF(B14<A14,1,0)+B14-A14。

3.计算迟到时长

假如上班时间是8:00,根据打卡时间计算迟到时长。在B25单元格输入公式=MAX(A25,"8:00")-"8:00",向下填充。

MAX(A25,"8:00")这部分是在打卡时间和8点中取最大值。如果打卡时间大于8点,说明迟到了。max返回的结果是超过8点的打卡时间,最后用这个时间减去8点就是迟到的时长。

如果打卡时间小于等于8点,说明没有迟到。max返回的结果是8点,最后用8点减去8点就是0。

如果你理解不了上面的公式,可以直接用打卡时间减去8点。如果迟到了得到正数,也就是迟到时长。如果没有迟到得到了负数,设置自定义格式将负数显示为0就可以了。

也可以用text来完成,公式为:=--TEXT(A25-"8:00","[<]!0")。

4.生成8:00~10:00之间的随机时间

生成8:00~10:00之间的随机时间,以分钟为单位。下面用了4种方法。第1种,公式为="8:00"+RANDBETWEEN(0,120)/1440。

8点和10点相差2小时,2小时是120分钟。用randbetween生成0~120之间的随机整数,再除以1440就得到了0~120分钟对应的时间。最后给8点加上0~120分钟之间的随机时间就得到我们要的结果。
第2种,公式为:

=RANDBETWEEN("8:00"*1440,"10:00"*1440)/1440

将8点和10点的时间乘以1440转化为分钟数,作为randbetween的2个参数。randbetween返回8点到10点间的随机分钟数,最后再将这个随机分钟数除以1440变为时间。

第3种用time函数,公式为=TIME(8,RANDBETWEEN(0,120),)。这种方法和第1种方法的思路是一样的。给8点加上0~120之间的随机分钟数。注意如果用time函数,每个参数都不能超过32767。

如果要生成以秒为单位的8:00~10:00之间的随机时间,又该如何写公式呢?

链接:

https://pan.baidu.com/s/1uaTmJlWjhJpIt_za342RLA

提取码:6ku4
(0)

相关推荐