高手设计的计算工龄工资的但是小弟看不懂,请各位大侠解惑!工龄是计算到天的上几天就有几天工龄。a1是日
公式是这样的=ROUND(IF(MONTH(NOW())>MONTH(A1),(YEAR(NOW())-YEAR(A1))*40,IF(MONTH(NOW())<MONT...
公式是这样的=ROUND(IF(MONTH(NOW())>MONTH(A1),(YEAR(NOW())-YEAR(A1))*40,IF(MONTH(NOW())<MONTH(A1),((YEAR(NOW())-YEAR(A1))-1)*40,((YEAR(NOW())-YEAR(A1))-1)*40+(IF(30>DAY(A1),40/30*(30-DAY(A1)),0)))),0)。
请详细说明!! 展开
请详细说明!! 展开
展开全部
最外层是ROUND(计算结果,0)就是对计算结果取整。
然后里面是多层判断,A1里应当是参加工作的时间,
意思是
如果当前月份>参加工作日期的月份,计算结果=40*年分差
如果当前月份<参加工作日期的月份,计算结果=40*(年分差-1)
如果当前月份=参加工作日期的月份,再判断日子差异,
如果30>参加工作日期的日子,计算结果=40*(年分差-1)+40/30*(30-参加工作日期的日子)
如果30<=参加工作日期的日子,计算结果=40*(年分差-1)+0
所以,假如今天是2011年3月21日,
那么1991年2月内参加工作的人的工龄=40*(2011-1991)=800
1991年4月参加工作的人的工龄=40*(2011-1991-1)=760
1991年3月20日参加工作的人的工龄=40*(2011-1991-1)+40/30*(30-20)=760+13.3=773.3,最后被round取整后的结果是773
1991年3月30日和31日参加工作的人的工龄=40*(2011-1991-1)=760
然后里面是多层判断,A1里应当是参加工作的时间,
意思是
如果当前月份>参加工作日期的月份,计算结果=40*年分差
如果当前月份<参加工作日期的月份,计算结果=40*(年分差-1)
如果当前月份=参加工作日期的月份,再判断日子差异,
如果30>参加工作日期的日子,计算结果=40*(年分差-1)+40/30*(30-参加工作日期的日子)
如果30<=参加工作日期的日子,计算结果=40*(年分差-1)+0
所以,假如今天是2011年3月21日,
那么1991年2月内参加工作的人的工龄=40*(2011-1991)=800
1991年4月参加工作的人的工龄=40*(2011-1991-1)=760
1991年3月20日参加工作的人的工龄=40*(2011-1991-1)+40/30*(30-20)=760+13.3=773.3,最后被round取整后的结果是773
1991年3月30日和31日参加工作的人的工龄=40*(2011-1991-1)=760
展开全部
这个需要联系上下文才行,兄弟,不然我帮不了你。比如。A1是什么数据?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个很好看的,你不要整个来看,它就是几个假设条件,分开看就行了,A1应该就是员工入职的年份,MONTH就是返回月的,YEAR就是返回年的,IF就是一个假设,满足条件就怎样,不符条件就怎样,最后用ROUND处理小数。你在表格里点一下这个格,再点插入函数的符号,一级一级的看就行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询