ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

一个复杂的将各子表汇总到总表的问题。

[复制链接]

TA的精华主题

TA的得分主题

发表于 2013-3-3 14:11 | 显示全部楼层 |阅读模式
请问如何将各子表里,每个人的实发工资汇总到“总表”的“姓名”列与“实发总工资(元)”这两列里,请看“总表”
这里需要注意的是,有些人的实发工资跟加班工资是分两个子表填写的,请看“工资”表与“加班补贴工资”表,比如姓名为“吕a”的人
在“工资”表里的“实发工资”是2600,在“加班补贴工资”表里,“实发工资”是1000,那么“吕a”的实发总工资是3600(请看D10单元格)。跪拜各位高手能帮帮小弟。

副本汇总.rar

10.82 KB, 下载次数: 19

TA的精华主题

TA的得分主题

发表于 2013-3-3 14:25 | 显示全部楼层
  1. =VLOOKUP(B10,工资!B6:S8,16,)+VLOOKUP(B10,加班补贴工资!B6:Q8,16,)
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-3-3 14:32 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
niuhui2009 发表于 2013-3-3 14:25

我要做到的是自动汇总所有人的实发总工资~~不是某个人的实发总工资。并且子表会达到几十个。。请问如何解决,要用到VBA么?就比如 http://club.excelhome.net/forum.php?mod=viewthread&tid=826225
这个网址里,8楼所做的VBA。。我要的就是那种效果~~但看不太懂.请问你能帮我实现吗?

TA的精华主题

TA的得分主题

发表于 2013-3-3 14:46 | 显示全部楼层
glay0755 发表于 2013-3-3 14:32
我要做到的是自动汇总所有人的实发总工资~~不是某个人的实发总工资。并且子表会达到几十个。。请问如何解 ...

难度倒是不大,首先需要的是搞清楚你各个表之间的逻辑关系。
搞清楚这一点之后,2楼的函数公式法略作修改,或者使用简单的VBA 代码都可以轻松完成。
按照你例子上的说明,有的人的实发工资是工资表上的,转移过来就是了。还有人有加班的情况,那么统计他的工资就把他的工资从工资表上的实发工资和加班工资表上的实发工资合计完成。这都很好理解。
但是,你还有一张补贴发放表,而补贴发放表上的人名居然是不存在于工资表上的,这就让人很疑惑了。
比如陈x 和苏c。按照常规理解发放工资的时候应该有一张基准表,就是全员的工资单,补贴也好,加班也罢
都是对该工资单而言。
而你这3张表到底是什么关系,哪一张是基准表? 还是简单的求和关系,只要任何一张表上有该人,就到其余表上找有没有该人?如果有就全求和?

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-3-3 15:02 | 显示全部楼层
hehex 发表于 2013-3-3 14:46
难度倒是不大,首先需要的是搞清楚你各个表之间的逻辑关系。
搞清楚这一点之后,2楼的函数公式法略作修改 ...

是这样,我们要求,不同部门的人,要用不同的子表建档,那个“补贴发放表”实际就是另外一个部门。我就这样解释吧,公司有十个部门,分别用分别建立子表1、表2、表3、。。。表10,十张子表,同时,有些部门有加班补贴的,又要另新建一个子表,汇总时,就要把加班补贴的工资都要汇总进去,并且每个部门的应发补助,扣发款项等都不同,所以,每个子表的表格都没有一个统一的格式,但都有“姓名”与“实发工资”这两列,我想要实现的,就是要在“总表”里,把各子表每人的“姓名”与“实发总工资(包括加班补贴的工资)”自动显示并统计到总表的“姓名”与“实发总工资”列里去。

TA的精华主题

TA的得分主题

发表于 2013-3-3 15:17 | 显示全部楼层
glay0755 发表于 2013-3-3 14:32
我要做到的是自动汇总所有人的实发总工资~~不是某个人的实发总工资。并且子表会达到几十个。。请问如何解 ...

其实,这是你设计有误,完全可以将数据放在一个表,然后需要报表的在源数组里面抽,而不是分散表再汇总

TA的精华主题

TA的得分主题

发表于 2013-3-3 15:23 | 显示全部楼层
glay0755 发表于 2013-3-3 15:02
是这样,我们要求,不同部门的人,要用不同的子表建档,那个“补贴发放表”实际就是另外一个部门。我就这 ...

还有问题,你各个子表的格式不一样,没法统一写标准的程序。我针对你例子写个程序即使达到你的要求也没用,你自己看看你例子的3个子表,2个格式是类似的,还有一个格式是不同的。你再核对一下实际的表,还有没有格式不一样的。

TA的精华主题

TA的得分主题

发表于 2013-3-3 16:52 | 显示全部楼层
本帖最后由 hehex 于 2013-3-3 17:01 编辑
glay0755 发表于 2013-3-3 15:02
是这样,我们要求,不同部门的人,要用不同的子表建档,那个“补贴发放表”实际就是另外一个部门。我就这 ...

俺用程序智能判断关键字的方法解决了你附表格式不统一的问题,目前针对你的附件已经完美解决。
实际应用是否工作不一定。

简述思路如下:
首先对各子表进行循环,然后对各表人名进行循环,如果找到一个新的人名就把他的姓名和收入存起来,再循环。
如果该人名已经出现过,那么将本表实际收入的数据和以前保存的数据进行合计。
潜在问题是各表的格式不一样,充斥大量合并单元格,起始行不一定相同,收入列不一定相同。例子就有两种格式,实际应用可能更多。
俺的智能判断在例子中完美工作,但是实际应用中不一定能完美解决未知格式。

顺便说一句,你们单位很不规范,上交的各类报表特别是和发钱相关的不统一格式的吗?

具体参考附件吧。


副本汇总.zip

21.15 KB, 下载次数: 68

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-3-3 20:29 | 显示全部楼层
hehex 发表于 2013-3-3 16:52
俺用程序智能判断关键字的方法解决了你附表格式不统一的问题,目前针对你的附件已经完美解决。
实际应用 ...

就是有这么复杂弄这么复杂~~~看了附件并操作来,实现我想要我效果~~~非常感谢你的帮助~~~

TA的精华主题

TA的得分主题

发表于 2013-3-5 16:45 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
看了,已经实现了
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-23 05:41 , Processed in 0.044334 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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