ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 汇总子公司数据问题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2022-5-14 19:15 | 显示全部楼层 |阅读模式
各位老师,我每个月都会收到各个子公司的报表(附件中的a公司(1月)、b公司(1月)),收到后我会将汇总表中增加一个工作表(附件汇总表中的“1月”表)并用公式在子公司表中取数;到2月会收到子公司报表a公司(2月)、b公司(2月),我将“1月”表复制一下,然后查找替换将所有公式中的“1月”替换为“2月”。
汇总表分别按照月度和公司两个口径统计,我又在各个月份报表之前增加了两个表格分别统计。 目前按公司口径统计还比较方便;但是按月度统计我还需要每月新增一列,后面的合计也需要重新选定区域。想请问各位老师,这个表格还能再改进一下吗,谢谢!!

2022年.zip

35.6 KB, 下载次数: 23

TA的精华主题

TA的得分主题

发表于 2022-5-14 23:41 | 显示全部楼层
思路:
1、统计汇总表 格式可以不用改,但a、b两个公司的数据表头要增加两个辅助列:月度与公司名;

2、工作表里的前两个工作薄分别是统计表, 第三个工作薄是数据来源表:也就是把加了辅助列的a公司与b公司数据直接粘到同一个工作薄;

3、在统计表里使用 SUMIFS 函数进行统计;可以对公司名、日期范围、项目名称进行设定,分门别类要求和;

这样你每次粘贴下数据表就行了,统计金额会自动更新的

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2022-5-15 06:34 来自手机 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
建议 子公司报表 仅包含 明细数据行,可以参考一下 多表合并或在线表单

TA的精华主题

TA的得分主题

发表于 2022-5-15 09:59 | 显示全部楼层
如果是经常性的工作,建议用vba代码来完成,高效快捷,通用

TA的精华主题

TA的得分主题

发表于 2022-5-15 21:50 | 显示全部楼层
仔细看了你的问题,我想应该不难解决,只是还有些问题需要了解,最好私信我。

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-5-17 10:02 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
3190496160 发表于 2022-5-15 09:59
如果是经常性的工作,建议用vba代码来完成,高效快捷,通用

老师您好,vba我没有接触过,您可以指导一下我从哪里开始入手吗

TA的精华主题

TA的得分主题

发表于 2022-5-17 17:09 | 显示全部楼层
juliet666777 发表于 2022-5-17 10:02
老师您好,vba我没有接触过,您可以指导一下我从哪里开始入手吗

现在开始学习,解决你的问题?呵

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-5-17 17:36 | 显示全部楼层
3190496160 发表于 2022-5-17 17:09
现在开始学习,解决你的问题?呵

这是什么意思啊

TA的精华主题

TA的得分主题

发表于 2022-5-17 23:20 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
可用VLOOKUP来引用数据,不用=来调用。

TA的精华主题

TA的得分主题

发表于 2022-5-18 09:10 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
Sub 新建工作表()
Application.ScreenUpdating = False
Dim d As Object
Set d = CreateObject("scripting.dictionary")
For Each sh In Sheets
    d(sh.Name) = ""
Next sh
w = InputBox("请输入名称", , Format(Date, "m月"))
If w = "" Then End
If d.exists(w) Then MsgBox w & "工作表已经存在,不能重复新建!": End
Sheets("模板").Copy after:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = w
Application.ScreenUpdating = True
End Sub
Sub hz()
Application.ScreenUpdating = False
Set sh = ThisWorkbook.ActiveSheet
mc = sh.Name
f = Dir(ThisWorkbook.Path & "\*.xls*")
Do While f <> ""
    If f <> ThisWorkbook.Name Then
        If InStr(f, mc) > 0 Then
            Set wb = Workbooks.Open(ThisWorkbook.Path & "\" & f, 0)
            ar = wb.Worksheets(1).Range("b5:b30")
            wb.Close False
            y = sh.Cells(3, Columns.Count).End(xlToLeft).Column + 1
            sh.Cells(5, y).Resize(UBound(ar), 1) = ar
            sh.Cells(3, y) = Split(f, ".")(0)
        End If
    End If
f = Dir
Loop
sh.Cells(3, y + 1) = "合计"
sh.Range(sh.Cells(3, 2), sh.Cells(30, y + 1)).Borders.LineStyle = 1
For i = 5 To 30
    sh.Cells(i, y + 1) = Application.Sum(sh.Range(sh.Cells(i, 2), sh.Cells(i, y)))
Next i
Application.ScreenUpdating = True
MsgBox "数据导入完毕!"
End Sub
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-1-12 02:55 , Processed in 0.024936 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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