用友软件股份有限公司王敏自动计算每月天数满足特殊行业薪资计算问题来源及描述:有些特殊行业例远洋运输公司,由于海员职业的特殊性,造成在进行工资核算的时候遇到困难。这种问题在医院、公安消防等不按正常周一至周五上班的行业来说,都会遇到。对于海员来讲,可能一次出海需要十天半月或者一个月甚至更久的时间,只要一出海就不存在请假旷工的问题。而请假旷工只会存在回港以后。另外,每个海员回港后都会给一个固定天数的休息天数,这个休息天数也算正常上班。超过这个休息天数休息的除了扣除相应工资外,可能还会影响全勤奖等其他收入。海员的工资也是按月进行发放,但是每个月海员的出海天数和休息天数都不一样。所以需要计算出海天数和休息天数的合计与每月天数来进行比较。而每月天数又有30天和31天甚至28和29之分。怎样根据当前计算机的系统时间计算每月天数呢?思考下,后面揭晓谜底。目前系统中给出的函数中没有一个可以计算每月天数的函数,需要我们通过编写相应公式来实现。思考:每月天数不同,2月份而且还要区分平年和闰年。通过公式计算一定要有相应工资项目,先想到了增加工资项目,判断平年闰年要根据一年肯定要取年份,月天数肯定要判断月份,先增加年份,月份,月天数三个工资项目接下来可以先设置年份和月份的公式。进入工资变动,年份和月份已经取数成功。下面”月份天数”的计算公式,思考。。。。我们知道一年有12个月,其中1,3,5,7,8,10,12这7个月31天,4,6,9,11这四个月为30天。2月闰年为29天,平年28天。所谓闰年就是年份可以被4整除的年份。如闰年2008/4=502平年2009/4=502.25等式:int(year()/4.00)=(year()/4.00)函数int为取整判断出平年/闰年了,就可以判断2月份的天数了iff(int(year()/4.00)=(year()/4.00),29,28)含义:如果年份/4取整后=年份/4,取29天,否则取28天。找个年份验证下?Int(2009/4)<>2009/4取28天,正确2月份出来了还有30和31天的几个月份需要判断。月份天数=iff((月份=4or月份=6or月份=9or月份=11),30,31)含义:如果月份=4,6,9,11则月份天数为30,否则为31。整合下两部分:iff(月份()<>2,iff((月份=4or月份=6or月份=9or月份=10or月份=11),30,31),iff(int(年份/4.00)=(年份/4.00),29,28))进入工资项目设置公式如下:回到工资变动计算得到数据。将系统时间改为2009年10月验证下?验证成功啦!