excel考勤表自动计算总和 (员工考勤表模板excel免费)

一大早学习群内的人都说要考勤表,好,既然你要,我总结一些我用过的考勤表。考勤表比较特殊,每个公司都略有差异,仅供参考。

员工考勤表模板excel免费,excel考勤表表头自动更新

1、手工记录考勤明细

借助手工输入简称,比如Z就表示正常上班。

员工考勤表模板excel免费,excel考勤表表头自动更新

员工考勤表

员工考勤表模板excel免费,excel考勤表表头自动更新

统计表

在员工考勤表内使用简称,而统计表又使用全称,也就是说需要将统计表的全程用公式转换成简称,这样才能实现统计。

可借助VLOOKUP函数实现转换。

=VLOOKUP(B$1,员工考勤表!$B$17:$C$22,2,0)

因为姓名都是按原来顺序的,直接就用单条件计数函数COUNTIF就可以。在B2输入公式,并向右拉到G2,然后向下拉。

=COUNTIF(员工考勤表!5:5,VLOOKUP(B$1,员工考勤表!$B$17:$C$22,2,0))

实际上班天数,在H2输入公式并向下拉。

=SUM(E2:G2)

2、系统导出考勤表并实现格式转换

系统里面可以自定义内容,比如开会休息等,每天只打2次卡,公司比较人性化,对迟到这些不做任何处罚。

员工考勤表模板excel免费,excel考勤表表头自动更新

考勤明细

现在要将考勤数据导入到另外一个表格模板。

员工考勤表模板excel免费,excel考勤表表头自动更新

转换表

接下来就是见证奇迹的时刻!

只需点一下导入考勤,瞬间就将数据实现转换。如果你眼神比较好,就知道这是我们公司的考勤表。

员工考勤表模板excel免费,excel考勤表表头自动更新

附源代码:

Sub Kaoqin()

Dim MxSht, MxsR As Long, MxNRng As Range, NameArr

Dim MaxR As Long, MaxC As Byte, KaoQ() As String

Dim NBoot As Boolean, StaR As Long, TemRng, Cou As Long

Dim iR As Long, iC As Byte, MxR As Long, MxC As Byte

Sheet1.Range("D5:AI104").UnMerge

With Sheet2

Rem

MxsR = .Cells(1, 1).End(xlDown).Row

’ MxSht = .Cells(1, 1).Resize(MxsR, 6).Value

Set MxNRng = .Cells(1, 2).Resize(MxsR)

MaxR = Me.Cells(5, 3).End(xlDown).Row - 4

MaxC = Me.Cells(4, Columns.Count).End(xlToLeft).Column - 4

ReDim KaoQ(1 To MaxR, 1 To MaxC)

NameArr = Me.Cells(5, 2).Resize(MaxR).Value

For iR = 1 To MaxR Step 2

Rem 姓名存在否

NBoot = WorksheetFunction.CountIf(MxNRng, NameArr(iR, 1))

Rem 存在时处理考勤数据

If NBoot Then

StaR = WorksheetFunction.Match(NameArr(iR, 1), MxNRng, 0)

Cou = WorksheetFunction.CountIf(MxNRng, NameArr(iR, 1))

TemRng = .Cells(StaR, 2).Resize(Cou, 5).Value

Rem 日期核对数据写入,上班下班的数据

For MxR = 1 To Cou

KaoQ(iR, Day(TemRng(MxR, 3))) = TemRng(MxR, 4) ’对应日期上班时间数据

KaoQ(iR + 1, Day(TemRng(MxR, 3))) = TemRng(MxR, 5) ’对应日期下班时间数据

Next MxR

End If

Next iR

End With

Me.Cells(5.1).Resize(MaxR) = NameArr

Me.Cells(5, 4).Resize(MaxR, MaxC) = KaoQ

End Sub

3、系统导出考勤表并实现统计工资

这也是我以前公司使用过的考勤表。

员工考勤表模板excel免费,excel考勤表表头自动更新

系统考勤明细

先通过分列,将内容显示在3列。

员工考勤表模板excel免费,excel考勤表表头自动更新

因为我们打卡的时候,有的时候会打不止一次,比如50秒打完卡,51秒又不小心按了一次,这就出现了2条记录。对于这种需要重新处理,判断是否为首次出现。

在E2输入公式,并向下填充。首次出现的显示1,否则显示空白。

=IF(COUNTIFS(A$2:A2,A2,B$2:B2,B2,C$2:C2,C2)=1,1,"")

这边采用的是日薪的方法统计工资的,日薪采用随机数,你懂的!

员工考勤表模板excel免费,excel考勤表表头自动更新

员工考勤表模板excel免费,excel考勤表表头自动更新

在工资表B3输入公式,并向下填充。上班天数是根据考勤表汇总得到,因为时间段是以半天算,所以最后面乘以0.5。

=SUMIF(考勤记录!A:A,A3,考勤记录!E:E)*0.5

日薪:

=VLOOKUP(A3,日薪对应表!A:B,2,0)

基本工资:

=ROUND(B3*C3,0)

我接触过的考勤系统都算比较标准的,遇到下面这种考勤系统,我就跪了!

一天打N次卡,而且还放在一个单元格,这种系统要你何用?

员工考勤表模板excel免费,excel考勤表表头自动更新

各种财务和会计模板,有需要的后台回复关键词“621”领取。

员工考勤表模板excel免费,excel考勤表表头自动更新

End.

来源:Excel不加班

国统计网,是国内最早的大数据学习网站,欢迎关注!

员工考勤表模板excel免费,excel考勤表表头自动更新