ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 11530|回复: 11

[求助] 每个月工资表人数及顺序不一致,如何统计全年个人工资收入,请大神赐教

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-7-5 17:47 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
每个月工资表人数及顺序不一致,如何统计全年个人工资收入,请大神赐教。

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-7-5 17:53 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2018-7-5 18:32 | 显示全部楼层
SUMIF函数自学一下就可以解决了

TA的精华主题

TA的得分主题

发表于 2018-7-5 18:35 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
空对空了。
红包免收。

不知楼主一年的数据存放形式如何。 但可以工作簿之间做个循环,或者工作表之间循环,然后用字典统计可以了,至于人员多少变化 ,位置顺序变化,都没有关系。

TA的精华主题

TA的得分主题

发表于 2018-7-6 13:50 | 显示全部楼层
smhf_6 发表于 2018-7-5 18:35
空对空了。
红包免收。

小白借楼请教一下,请问工作表之间循环和字典统计是指什么啊,如何操作呢,谢谢!

TA的精华主题

TA的得分主题

发表于 2018-7-6 15:36 | 显示全部楼层
rongyihit 发表于 2018-7-6 13:50
小白借楼请教一下,请问工作表之间循环和字典统计是指什么啊,如何操作呢,谢谢!

类似下面这样子,这个是工作表循环

Dim d As Object
Dim i As Long
Dim s As String
Dim sh As Worksheet

On Error Resume Next
Sheets.Add after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
ActiveSheet.Name = "汇总"
Set d = CreateObject("Scripting.Dictionary")
For Each sh In Worksheets
  
    t = sh.Name
    arr = Sheets(t).Range("A1").CurrentRegion
    If sh.Name <> "汇总" Then
        For i = 4 To UBound(arr)  
            s = arr(i, 2)
            If s <> "" Then
            If d.Exists(s) Then
                d(s) = d.Item(s) + arr(i, 32)
                Else
                d(s) = arr(i, 32)
            End If
            End If
        Next
        End If
Next
   Sheets("汇总").Range("A1") = "姓名"
   Sheets("汇总").Range("B1") = "合计"


    Sheets("汇总").Range("A2").Resize(d.Count, 1) = WorksheetFunction.Transpose(d.keys)  
    Sheets("汇总").Range("B2").Resize(d.Count, 1) = WorksheetFunction.Transpose(d.Items)

TA的精华主题

TA的得分主题

发表于 2018-7-6 16:45 | 显示全部楼层
melville 发表于 2018-7-6 15:36
类似下面这样子,这个是工作表循环

Dim d As Object

感谢,我好好研究下

TA的精华主题

TA的得分主题

发表于 2018-7-6 18:42 | 显示全部楼层
12个月工资,如果放在同一表,用函数sumifs可以,
如果放在12份表,或12个工作簿,当然要循环,逐表处理了。
至于字典,好处主要是每月人员多少无关,变化无关,顺序无关。dc(姓名或证件号)=dc(姓名或证件号)+X
姓名或证件号: 必须唯一
X:每月的金额
循环结束 ,装在dc(姓名或证件号)中的值就是该员工的总金额,取出来即可

TA的精华主题

TA的得分主题

发表于 2018-7-9 20:03 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
你好,可以使用 数据——合并计算,这个功能。
原来在公司统计过员工12个月年收入时使用这个功能。但是要求,每个表的表头项目都必须是一致的。同时第一列要 是可以作为唯一识别该员工的信息,使用姓名的话要考虑重名。建议使用员工编号。楼主可百度学习一下。这个很方便的。

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-7-17 10:48 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
胖脸摩卡 发表于 2018-7-9 20:03
你好,可以使用 数据——合并计算,这个功能。
原来在公司统计过员工12个月年收入时使用这个功能。但是要 ...

非常感谢,我研究学习下。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-26 03:33 , Processed in 0.030777 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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