Excel函数公式解释

来源:百度知道 编辑:UC知道 时间:2024/05/27 21:28:03
麻烦高手详细的解释一下下面这几行公式,非常感谢!越详细越好!

=TEXT(MOD(C2,1)+0.625-(WEEKDAY(C2,2)>5)/48,"[<=1]否;[>1.125] ;是")
=TEXT(MOD(C2,1)+0.625-(WEEKDAY(C2,2)>5)/48,"[<=1] ;[>1.125] ;h:mm")
=TEXT(MOD(C2,1)+0.25+(WEEKDAY(C2,2)>5)/48,"[<.75] ;[<=1]否;是")
=TEXT(MOD(C2,1)+0.25+(WEEKDAY(C2,2)>5)/48,"[<.75] ;[<=1] ;h:mm")

=IF(AND(HOUR(C2)<12,MOD(C2,1)>9/24+(WEEKDAY(C2,2)>5)/48),"迟到","")
=IF(E2="","",MOD(C2,1)-3/8-(WEEKDAY(C2,2)>5)/48)
=IF(AND(HOUR(C2)>=12,MOD(C2,1)>0.75-(WEEKDAY(C2,2)>5)/48),"加班","")
=IF(G2="","",MOD(C2,1)-0.75+(WEEKDAY(C2,2)>5)/48)

越详细越好,非常感谢大家乐于助人的精神!

上下的公式实现的差不多
上面的公式更巧妙
=TEXT(MOD(C2,1)+0.625-(WEEKDAY(C2,2)>5)/48,"[<=1]否;[>1.125] ;是")
如果MOD(C2,1)+0.625-(WEEKDAY(C2,2)>5)/48 结果<=1(24小时),为 否,如果>1.125(27小时)则为空,否则为 是。
MOD(C2,1)是提出C2的时间而不要日期,因为日期时间的数值其实是一个数字,整数部分代表天,小数部分代表时间,时间*24就是小时数。MOD(C2,1)就是把整数部分去掉。
0.625代表15个小时,
(WEEKDAY(C2,2)>5)/48 如果C2的日期是周六或周日,则为半小时。
所以整个公式的意思是
如果C2的日期是周一到周五,时间在24-15=9点以前,那么为否,时间在27-15=12点以后则为空,否则为是。
如果C2的日期是周六或周日,那么时间24-15+0.5=9点半,为否,时间27-15+0.5=12点半,则为空,否则为是。

=TEXT(MOD(C2,1)+0.625-(WEEKDAY(C2,2)>5)/48,"[<=1] ;[>1.125] ;h:mm")
其实就是计算时间差,并用H:MM的格式显示。

打起字来太多了,你参照这理解吧,如果有问题,可以HI我,同时向这个公式的作者学习。

下面的公式没什么特别
=IF(AND(HOUR(C2)<12,MOD(C2,1)>9/24+(WEEKDAY(C2,2)>5)/48),"迟到","")
如果C2的时间在12点以前,且在9点(周六和周日在9点半)以后,那么 "迟到",否则为空。

=IF(E2="","",MOD(C2,1)-3/8-(WEEKDAY(C2,2)>5)/48)
如果E2为空,则为空,否则计算C2的时间减去9点(周六和周