excel当值大于同时小于函数怎么做
2019-03-27
在题主想法的基础上多考虑了一个条件(虽然作为工时表应该是不会出现的),即当工作时间大于24时,也显示错误值0。另外,前两个公式如果去掉 ISNUMBER(C3)=FALSE这一层判断,对结果没有影响,是为确保无误起见加上的(最后给出的一个公式里也有ISNUMBER,那个公式如果去掉该条件就会出错):
前一种情形,7天10小时制,在D3中输入=IF(ISNUMBER(C3)=FALSE,0,IF(C3>24,0,IF(C3>10,10,IF(C3>=0.5,C3,0))))
后一种情形,5天8小时制,在D3中输入=IF(OR(B3="星期六",B3="星期日"),0,1)*IF(ISNUMBER(C3)=FALSE,0,IF(C3>24,0,IF(C3>8,8,IF(C3>=0.5,C3,0))))
下面是题主没有要求的加班时间,私以为比正班时间要复杂,也贴上了:
至于加班时间一栏,两种情形都需要考虑C3栏中出现“放假”这类文字的影响;而且后一种情形还需要考虑星期六星期日这种情况。但这两种情况都属于错误信息,对应D3为0,因此两种情形都可以直接在E3中输入=IF(D3=0,0,C3-D3)
但我不是很确定五天8小时制的情形下,周末的上班时间如果大于0,既然不算在正班时间里,是否要全算在加班时间里。如果是的话,第二种情形的加班时间公式应该改为=IF(AND(OR(B3="星期六",B3="星期日"),ISNUMBER(C3)=TRUE),C3,IF(D3=0,0,C3-D3))
但上面这个加班时间公式没有考虑周末上班时间小于0.5时不应该计入的情况,务必要苛求的话,应该写成=IF(AND(OR(B3="星期六",B3="星期日"),ISNUMBER(C3)=TRUE,C3>=0.5),C3,IF(D3=0,0,C3-D3))
举例:你的C3是当日工作时长(h),那么D4输入
=IF(C3<0.5,"",IF(C3<=10,C3,10))
下拉便是正班时长(h)
E3输入
=IFERROR(C3-D3,"")
下拉便是加班时长(h)
同理获取其他。懒得学,可以查看id中Q
你这个C3的错误值为10
=IF(AND(C3>=0.5,C3<=10),C3,IF(C3>10,10,0))
然后向下拖动填充公式。
E3公式:
=MAX(0,C3-D3)
然后向下拖动填充公式。
---如果以后改成5*8了---
D3公式:
=IF(AND(C3>=0.5,C3<=8),C3,IF(C3>8,8,0))
然后向下拖动填充公式。
E3公式:
=MAX(0,C3-D3)
然后向下拖动填充公式。
你这个C3我手动输入放假或者请假的时候D3显示为10 我要错误值为0 咋搞
=IF(OR(C3="请假",C3="放假"),0,IF(AND(C3>=0.5,C310,10,0)))