我只有三个可编辑的字段:
有了这些字段,我需要计算我需要支付的总薪水。付款按月付款:
(7月= 15,000 / 31 * 14)+
(AUG = 15,000 / 31 * 31)+
(SEPT = 15,000 / 30 * 30)+
(OCT = 15,000 / 30 * 12)。
我可以根据两个日期(即87天,=DAYS($enddate,$startdate)+1)
)获得总天数,但我需要根据月份分割天数。
我需要自动获取金额的公式,因为每个人都有不同的工资和不同的日期?
答案 0 :(得分:0)
我已经把它分开了,因为我不完全确定你需要什么,你可能能够以更适合你的方式组装这些作品:
假设您的数据位于A1:A3,则将1/7/14放入C1,将1/8/14放入D1,将1/9/14放入E1,将1/10/14放入F1。
要按月计算适用天数,请在C2中输入:
=IF(MONTH($A2)=MONTH(C1),EOMONTH(C1,0)-$A2+1,IF(MONTH($A3)=MONTH(C1),DAY($A3),EOMONTH(C1,0)-EOMONTH(C1,-1)))
要通过计算适用月份的每日费率并将其乘以上面的天数来计算当月的工资,请在C3中输入:
=$A1*C2/(DAYS(EOMONTH(C1,0),C1)+1)
格式C2:C3适合并复制到F2:F3。
答案 1 :(得分:0)
您可以使用Excel VBA自定义功能来解决您的问题:
1)。首先,您应该使用反映Employees Name,Monthly Salary,StartDate和EndDate的数据结构填充Excel工作表,如下例所示:
Employee M.Salary Start Date EndDate
John $15,000.00 7/18/2014 10/12/2014
Ann $20,000.00 7/19/2014 10/13/2014
Peter $16,000.00 7/20/2014 10/14/2014
Jeff $25,000.00 7/21/2014 10/15/2014
2)。可以通过减法(EndDate-StartDate)简单地找到日期范围中的DAYS,因为整数中的基础数据类型
3)。对于问题的一般解决方案(计算任意期间和月薪的薪酬),您需要创建自定义VBA公式并在每个员工的单独列中使用它。请参阅此文章以获取解释:Create a custom worksheet function in Excel VBA
4)。对于具有固定日期范围的特定情况,基于Excel工作表公式(无VBA)的简化解决方案如下所述:
Employee MoSalary Start End Days FullMo FirstMo LastMo Total
John $15,000.00 7/18/2014 10/12/2014 87 30000.00 $6,774.19 $6,000.00 $42,774.19
Ann $20,000.00 7/18/2014 10/12/2014 87 40000.00 $9,032.26 $8,000.00 $57,032.26
Peter $16,000.00 7/18/2014 10/12/2014 87 32000.00 $7,225.81 $6,400.00 $45,625.81
Jeff $25,000.00 7/18/2014 10/12/2014 87 50000.00 $11,290.32 $10,000.00 $71,290.32
4A)。在E列从第2行开始,为DAYS添加公式:=(D2-C2)+1
并将其扩展为整个范围
4B)。在列F中,从第2行开始,添加整月的公式:=2*B2
并将其扩展为整个范围
4C)。在从第2行开始的第G列中,添加第一个月的公式:=14*B2/31
并将其扩展到整个范围
4D)。在从第2行开始的第H列中添加上个月的公式:=12*B2/30
并将其扩展为整个范围
4E)。在从第2行开始的第I列中,添加总薪酬公式:=SUM(F2:H2)
并将其扩展到整个范围
希望这会有所帮助。最好的问候,