Excel自定义函数
个人经验,如果用Excel表计算工资,用VBA自定义函数要比弄公式简单的多,直接用“=管理工资(张三)”完事,如果有多个角色,像管理、车间、后勤,再加个if呗。
附一个自己用的VBA参考:
Public Function ABC公司后勤考勤2021(name) Dim 考勤天数, 考勤小时数, 日工资标准, 小时工资标准, 必须出勤天数 As Single Dim 考勤表名, 标准表名 As String Dim 月份数 As Integer 月份数 = ActiveSheet.Range("a1").Value 考勤表名 = 月份数 & "月考勤表" 标准表名 = 月份数 & "月工资标准" 考勤天数 = Application.VLookup(name, Worksheets(考勤表名).Range("b:h"), 2, False) 必须出勤天数 = Application.VLookup(name, Worksheets(标准表名).Range("q:s"), 2, False) 月工资标准 = Application.VLookup(name, Worksheets(标准表名).Range("q:s"), 3, False) If 考勤天数 > 必须出勤天数 Then ABC公司后勤考勤2021 = Application.Round(月工资标准, 0) Else ABC公司后勤考勤2021 = Application.Round(月工资标准 / 必须出勤天数 * 考勤天数, 0) End If End Function