Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1889|回复: 2

统计1到12月份的总的工资

[复制链接]
发表于 2018-4-11 09:00 | 显示全部楼层 |阅读模式
因工作需要,需要统计出某一个人1到12月的总的工资数据,最好是能做一个按钮,可以输入身份证号码,然后自动计算出总的工资数,人名有重复的,身份证号码是唯一的,见附件,在线急等,多谢多谢!

工资表.rar

16.01 KB, 下载次数: 15

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2018-10-15 15:29 | 显示全部楼层
Sub test()
Application.ScreenUpdating = False
Dim arr, brr, crr()
Set dic = CreateObject("scripting.dictionary")
For Each sht In Worksheets
    If sht.Name <> "查找" Then
        sht.Activate

        arr = Range("B3:D" & Cells(Rows.Count, 2).End(xlUp).Row)
        For i = 1 To UBound(arr)
            x1 = arr(i, 1)
            x2 = "'" & arr(i, 2)
            x3 = arr(i, 3)
            y = sht.Name
            If dic(x2) = "" Then
                dic(x2) = x1 & "," & y & ";" & x3
            Else
                dic(x2) = dic(x2) & "," & y & ";" & x3
            End If
        Next
    End If
Next
ReDim crr(1 To dic.Count, 1 To 14)

Sheets("查找").Activate
For Each k In dic.keys
    brr = Split(dic(k), ",")
    m = m + 1
    crr(m, 1) = k
    crr(m, 2) = brr(0)
    For n = 1 To 12
        For j = 1 To UBound(brr)
            drr = Split(brr(j), ";")
            If Val(drr(0)) = n Then
                crr(m, n + 2) = Val(drr(1))
            End If
        Next
    Next
Next

[A2].Resize(UBound(crr), 14) = crr

Application.ScreenUpdating = True


End Sub


回复

使用道具 举报

匿名  发表于 2019-2-23 19:03
这样???/

工资表.rar

35.51 KB, 下载次数: 88

回复

使用道具

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-27 08:17 , Processed in 0.384893 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表