在Excel中设置迟到扣工资函数,求高手指教。
答案:5 悬赏:50 手机版
解决时间 2021-03-22 18:25
- 提问者网友:美人性情
- 2021-03-22 10:22
在Excel中设置迟到扣工资函数,求高手指教。
最佳答案
- 五星知识达人网友:一叶十三刺
- 2021-03-22 11:41
很有趣的公式;
共同关注~~支持一下,求高手。追问=ROUND(B2-B2/22*IF(C2>=4,1,IF(C2>0.5,0.5)),2)
解决了追答试了一下,似乎楼主的公式不能解决大于30分钟情况。。。
另外一个朋友的公式,如果是4小时的话,还是扣1天工资了。。呵呵
应该怎么解决?
共同关注~~支持一下,求高手。追问=ROUND(B2-B2/22*IF(C2>=4,1,IF(C2>0.5,0.5)),2)
解决了追答试了一下,似乎楼主的公式不能解决大于30分钟情况。。。
另外一个朋友的公式,如果是4小时的话,还是扣1天工资了。。呵呵
应该怎么解决?
全部回答
- 1楼网友:十年萤火照君眠
- 2021-03-22 15:31
如图,两种方法
- 2楼网友:过活
- 2021-03-22 14:07
如果当月应发工资在B2单元格,迟到时间在D2单元格,那么输入
=B2/22*IF(D2-"0:30"<=0,0,CEILING(D2/(8/24),0.5))
详见附图示例
- 3楼网友:笑迎怀羞
- 2021-03-22 13:21
A列为“当月应发工资”,B列为“迟到时间”,C列为“扣款金额”。
Sub 扣款()
i = Cells(Rows.Count, 2).End(xlUp).Row
For j = 2 To i
If Cells(j, "b") >= 240 Then
Cells(j, "b").Offset(, 1) = Cells(j, "a") / 22 * 0.5
ElseIf Cells(j, "b") > 30 Then
Cells(j, "b").Offset(, 1) = Cells(j, "a") / 22 * 1
Else
Cells(j, "b").Offset(, 1) = ""
End If
Next
End Sub
Sub 扣款()
i = Cells(Rows.Count, 2).End(xlUp).Row
For j = 2 To i
If Cells(j, "b") >= 240 Then
Cells(j, "b").Offset(, 1) = Cells(j, "a") / 22 * 0.5
ElseIf Cells(j, "b") > 30 Then
Cells(j, "b").Offset(, 1) = Cells(j, "a") / 22 * 1
Else
Cells(j, "b").Offset(, 1) = ""
End If
Next
End Sub
- 4楼网友:枭雄戏美人
- 2021-03-22 11:51
不知道迟到时间是用什么单位计的,假定计时单位为小时并在A1单元格中,B1中为当月应发工资,那么应扣工资可以参考公式:
=B1*LOOKUP(A1,{0,0;0.5,0.5;4,1})/22
实发工资用公式:
=B1-B1*LOOKUP(A1,{0,0;0.5,0.5;4,1})/22
=B1*LOOKUP(A1,{0,0;0.5,0.5;4,1})/22
实发工资用公式:
=B1-B1*LOOKUP(A1,{0,0;0.5,0.5;4,1})/22
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯