函数if用法 我在做一份考勤表,我们是8点钟上班,12点下班,13:30分上班,18:00下班,求IF的用法,

2011-5-1 10:35
2011-5-1 10:40
2011-5-1 11:51
2011-5-1 15:11
2011-5-1 19:07
2011-5-2 14:04
2011-5-2 16:44
2011-5-2 17:56
2011-5-2 20:02
2011-5-2 21:21
2011-5-2 23:38
这种数字格式化下,我想要找出大于8:01分,小于12:00,大于13:30分,小于18:00的条件下,把那些迟到的自动行选出来。该怎么做?是在菜单的格式那里还是在数据那里弄会好一点。急。

第1个回答  2011-06-20
只看迟到的话,你可以只提取这一天的上班时间就好了,下班时间就不用提取了,比如2011-5-1 10:35,你就提取10和35这2个数出来,将小时赋值给i,分钟赋值给J,然后就这样写就可以:
IF(I==8)
IF(J>0)
{
迟到;
}
else IF(I>8 && I<=11)
{
迟到;
}
else if(i==13)
if(j>30)
{
迟到;
}
else if(i>13 && i<=18)
{
迟到;
}
else
{
nothing;
}
这个程序有BUG,如果某人早上迟到后不刷卡,而是等到中午下了班再去打早上的上班卡,程序一样识别不出来。应该仪器有识别这个的功能。
第2个回答  2011-06-16
这种时间格式不怎么好弄诶
去掉前面的日期 把时间转化一下 比如10:35是10.58 10:40是10.67
然后再用函数if进行编程
第3个回答  2011-06-16
原数据在A列,B列输入
=IF(OR((AND((A1-INT(A1))>TIME(8,0,0),(A1-INT(A1))<TIME(12,0,0))),(AND((A1-INT(A1))>TIME(13,30,0),(A1-INT(A1))<TIME(18,0,0)))),"迟到","")追问

怎么弄的??可以发一个表格过去给你弄弄不?QQ多少呀??帮我解决了好不??

追答

Q1051397237,很少上Q,还是会去收邮件的。