如何在excel里边设置一个关于时间的条件函数

我们的上班时间是08:30,但允许有十分钟浮动范围。即,假设B2是一个打卡时间08:32,我们认为超过08:40才是迟到了;但若是出现一个08:45的打卡时间,就认为是迟到15分钟。
我现在这么写的IF(B2>=TIMEVALUE("08:40"),B2-TIMEVALUE("08:30"),"")
但是不管符不符合>=08:40的条件,出来的结果都是减去08:30的时间,问题在哪里呢?还有就是,运算出来的结果是时间格式的00:02:00这样子的,怎么能直接出来分钟数呢?
急用啊,希望有好心的高手帮忙解答,谢谢啦!

3 个回答

你的公式没问题。也许你需要将B2的格式设置为时间。

此外公式所在单元格可以在单元格-- 格式-- Custom--输入 mm:s"分钟" 。 你可以得到诸如20:0分钟的样子。但是不会只显示20分钟

首先得统一格式,这个是参考公式
=IF(A2>=A1,MINUTE(A2-A1),"")
或者
=IF(A2>=A1,MINUTE(A2-A1),"") &"分钟"
截图

=IF(B2>="8:30"+1/24/60*10,TEXT(B2-"8:30","迟到h小时m分钟"),"")

试一下这个公式。公式中使用了8:30+十分钟。是为了方便浮动范围的修改。
你要确定一下你B列的时间是标准时间格式。别是纯文本的。你提问中说无论是否大于8:40都进行减的操作,表示你那是文本格式,不是标准时间格式。
所以考虑到你的原B列时间不是标准时间格式,公式试一下
=IF(TIMEVALUE(B2)>="8:30"+1/24/60*10,TEXT(TIMEVALUE(B2)-"8:30","迟到h小时m分钟"),"")

你的回答