无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 6707|回复: 46
打印 上一主题 下一主题

[求助] 坛子里面有excel高手吗?请教一个多表合并同类项的问题

[复制链接]
跳转到指定楼层
#
发表于 2023-12-9 11:11:45 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式


我有十多个这样的表。撇除日期和事由,我想把其中的所有的同类“事项”合并到一起,然后后面的数量累加,金额累加。

合并到一个表里面,请问各位大佬,这个要如何搞?

一个表一个表这样子合并太麻烦了。还得手动合并。

有没有能自动合并的方法或者是vba???

求各位帮忙了。


37#
发表于 2024-4-21 21:25:57 来自手机 | 只看该作者
谢谢分享
回复

使用道具 举报

36#
发表于 2023-12-13 22:07:01 | 只看该作者
2011mking 发表于 2023-12-10 10:38
就是用数据透视表就可以了

楼主说是10多个表,假如几百上千个表,每个都这样手工透视 ?
回复

使用道具 举报

35#
发表于 2023-12-13 22:00:08 | 只看该作者
本帖最后由 likeyouli 于 2023-12-14 14:38 编辑
hilsonma 发表于 2023-12-9 20:41
以下内容来自网络,我之前遇到类似问题在网络上找到的:

快速合并单个excel文件中的多个工作表

vba完全可以实现,工作表还是工作簿,无非是需要不需要再次open的问题,,
可惜我来晚了,,之前曾向h大请教过多个问题,,话说貌似h大的vba水平没我厉害啊  大体思路:第一步,不管是多个工作表还是工作簿,都先复制合并到一个工作表里,注意标题别合并重复。假如,工作簿,保存在d盘ceshi文件夹下,
  1. Sub 合并工作簿()
  2. Dim ss$, t As Workbook
  3. ss = Dir("D:\ceshi")
  4. Do
  5. If ss <> ThisWorkbook.Name Then
  6. Set t = Workbooks.Open("D:\ceshi" & ss)
  7. c = c + 1
  8. If c = 1 Then
  9. Range("a1").CurrentRegion.Copy ThisWorkbook.Sheets(1).Range("a1")
  10. Else
  11. 'Range("a2", Selection.SpecialCells(xlCellTypeLastCell)).Select
  12. 'Range("a2", Selection.SpecialCells(xlCellTypeLastCell)).Copy ThisWorkbook.Sheets(1).Cells(Rows.Count, "a").End(xlUp).Offset(1, 0)
  13. Range("a1").EntireRow.Delete
  14. Range("a1").CurrentRegion.Copy ThisWorkbook.Sheets(1).Cells(Rows.Count, "a").End(xlUp).Offset(1, 0)
  15. End If
  16. t.Close False
  17. End If
  18. ss = Dir
  19. Loop Until ss = ""
  20. MsgBox "恭喜,已合并完成!!"
  21. End Sub
复制代码

     第二部,解决累加的问题,以事项作为字典,数量和金额累加,,当然到了这步,不用vba,函数也完全可以解决
刚回头看了下,代码竟然和复制的不一样:
Sub 合并工作簿()
Dim ss$, t As Workbook
ss = Dir("D:\ceshi\")
Do
If ss <> ThisWorkbook.Name Then
Set t = Workbooks.Open("D:\ceshi\" & ss)
c = c + 1
If c = 1 Then
Range("a1").CurrentRegion.Copy ThisWorkbook.Sheets(1).Range("a1")
Else
Range("a2", Selection.SpecialCells(xlCellTypeLastCell)).Select
Range("a2", Selection.SpecialCells(xlCellTypeLastCell)).Copy ThisWorkbook.Sheets(1).Cells(Rows.Count, "a").End(xlUp).Offset(1, 0)
End If
t.Close
End If
ss = Dir
Loop Until ss = ""
MsgBox "恭喜,已合并完成!!"
End Sub

ceshi后边少了\


回复

使用道具 举报

34#
发表于 2023-12-12 12:10:17 | 只看该作者
打开Excel表格,选择需要合并同类项的单元格区域。在菜单栏中点击“数据”选项,并选择“分类汇总”功能。在弹出的对话框中,将“分类字段”设置为需要合并的列名,将“汇总方式”设置为需要执行的操作(例如求和、平均值等),然后点击“确定”按钮即可完成合并同类项的操作。
回复

使用道具 举报

33#
发表于 2023-12-12 09:15:00 | 只看该作者
回复

使用道具 举报

32#
发表于 2023-12-12 08:30:00 | 只看该作者
用sumifs试试
回复

使用道具 举报

31#
发表于 2023-12-10 14:20:18 | 只看该作者
chinaren12 发表于 2023-12-9 13:21
数据透视表不正确,本来应该是累加的,结果他把数量和金额加一起了。

那是你没设计好透视表,透视表也能达到你的要求。
回复

使用道具 举报

30#
发表于 2023-12-10 10:38:05 | 只看该作者
就是用数据透视表就可以了


点评

楼主说是10多个表,假如几百上千个表,每个都这样手工透视 ?  详情 回复 发表于 2023-12-13 22:07
回复

使用道具 举报

29#
发表于 2023-12-9 20:41:15 | 只看该作者
以下内容来自网络,我之前遇到类似问题在网络上找到的:

快速合并单个excel文件中的多个工作表

多个工作表的excel文件,要将数据合并到一个工作表,可利用excel的宏计算来解决这个问题。

首先移到工作表标签的最后,插入新工作表。

右键点击新工作表标签,点查看代码,然后看到代码页面。

把下面的代码复制到代码页面


Sub 合并当前工作簿下的所有工作表()
Application.ScreenUpdating = False
For j = 1 To Sheets.Count
   If Sheets(j).Name <> ActiveSheet.Name Then
       X = Range("A65536").End(xlUp).Row + 1
       Sheets(j).UsedRange.Copy Cells(X, 1)
   End If
Next
Range("B1").Select
Application.ScreenUpdating = True
MsgBox "当前工作簿下的全部工作表已经合并完毕!", vbInformation, "提示"
End Sub


在代码页面点击工具栏上面的 运行 ,点击 运行子过程/用户窗体 。

代码运行到最后会提示合并完毕。点确定后关闭代码页面。

新工作表中会出现合并后的结果。


现在很多人用的WPS无法实现这个计算,只有功能健全的microsoft excel可以。

点评

vba完全可以实现,工作表还是工作簿,无非是需要不需要再次open的问题,, 可惜我来晚了,,之前曾向h大请教过多个问题,,话说貌似h大的vba水平没我厉害啊  详情 回复 发表于 2023-12-13 22:00
回复

使用道具 举报

28#
发表于 2023-12-9 17:52:13 | 只看该作者
这个直接用Execl的函数应该可以,有些函数可跨表使用。可惜近二十年没用都忘记了!
回复

使用道具 举报

27#
 楼主| 发表于 2023-12-9 17:27:02 | 只看该作者
51xp 发表于 2023-12-9 14:51
放示例表与结果对照表,让需求更明确。

就是不好放原始表格罗。不过我通过楼上的方方格子已经完美的解决问题了。
回复

使用道具 举报

26#
发表于 2023-12-9 16:49:39 | 只看该作者
这个很多个文件合并到一起,如果文件名有规律是可以直接用函数实现,如果文件名随意。那真是Power query才好用了,或许第三方也有
回复

使用道具 举报

25#
发表于 2023-12-9 16:33:37 | 只看该作者


方方格子 经典啊

我整理机翻电影字幕,都可以用到它
回复

使用道具 举报

24#
发表于 2023-12-9 15:45:56 | 只看该作者
上个实例,不知是不是与楼主想实现的类似;

楼主可以看一下控件对应的宏代码;

示例.zip

18.58 KB, 下载次数: 18, 下载积分: 无忧币 -2

回复

使用道具 举报

23#
发表于 2023-12-9 14:51:26 | 只看该作者
放示例表与结果对照表,让需求更明确。

点评

就是不好放原始表格罗。不过我通过楼上的方方格子已经完美的解决问题了。  详情 回复 发表于 2023-12-9 17:27
回复

使用道具 举报

22#
发表于 2023-12-9 14:49:02 | 只看该作者
楼主先要讲清工作表还是工作簿?
十多个工作表在同一个工作簿中还是不同工作簿中?
假设它们在不同工作簿(不同的xlsx)中;
先在某工作簿的工作表中插入命令控件,拟写宏代码,将其它工作簿中的工作表数据读入当前工作表(事先整理好列的顺序);
然后利用EXCEL【自带功能】,比如根据”事项“列的数据”kk",将所有kk对应的金额相加,合并掉同”事项“的行;
回复

使用道具 举报

21#
发表于 2023-12-9 14:36:10 | 只看该作者
power query
回复

使用道具 举报

20#
发表于 2023-12-9 13:27:57 | 只看该作者
=FILTER(a2:f1000,b2:b1000=G1,""),G1单元格里放事项内容,G2里放公式,注意你要有office2019以上办公软件,wps2019可能也行。
回复

使用道具 举报

19#
 楼主| 发表于 2023-12-9 13:21:48 | 只看该作者

数据透视表不正确,本来应该是累加的,结果他把数量和金额加一起了。

点评

那是你没设计好透视表,透视表也能达到你的要求。  详情 回复 发表于 2023-12-10 14:20
回复

使用道具 举报

18#
发表于 2023-12-9 13:09:30 | 只看该作者
数据透视表

点评

数据透视表不正确,本来应该是累加的,结果他把数量和金额加一起了。  详情 回复 发表于 2023-12-9 13:21
回复

使用道具 举报

17#
发表于 2023-12-9 13:04:35 | 只看该作者
用sumif公式就可以
回复

使用道具 举报

16#
发表于 2023-12-9 12:39:52 | 只看该作者
linshi456 发表于 2023-12-9 12:38
方方格子是Excel工具。我没用过,看官网还不错,貌似有合并功能

惭愧 我孤陋寡闻
回复

使用道具 举报

15#
发表于 2023-12-9 12:39:51 来自手机 | 只看该作者
你先找个Excel工具把表格合并起来,用Excel数据透视表分类统计。
回复

使用道具 举报

14#
发表于 2023-12-9 12:38:35 来自手机 | 只看该作者
yyz2191958 发表于 2023-12-9 12:35
什么意思?

方方格子是Excel工具。我没用过,看官网还不错,貌似有合并功能

点评

惭愧 我孤陋寡闻  详情 回复 发表于 2023-12-9 12:39
回复

使用道具 举报

13#
发表于 2023-12-9 12:35:57 | 只看该作者
kyowjg 发表于 2023-12-9 11:58
方方格子解忧愁

什么意思?

点评

方方格子是Excel工具。我没用过,看官网还不错,貌似有合并功能  详情 回复 发表于 2023-12-9 12:38
回复

使用道具 举报

12#
发表于 2023-12-9 12:30:50 | 只看该作者
学习了
回复

使用道具 举报

11#
 楼主| 发表于 2023-12-9 12:07:45 | 只看该作者
2012yishuihana 发表于 2023-12-9 11:46
多表合并建议power query

power query没有合并到一个表呀,原来多少个表现在就是多少个表。
回复

使用道具 举报

10#
发表于 2023-12-9 11:58:00 | 只看该作者
方方格子解忧愁

点评

完美解决问题。感谢楼主提供的软件。非常好,几秒钟解决问题  发表于 2023-12-9 13:38
什么意思?  详情 回复 发表于 2023-12-9 12:35

评分

参与人数 1无忧币 +5 收起 理由
chinaren12 + 5 很给力!

查看全部评分

回复

使用道具 举报

9#
发表于 2023-12-9 11:55:59 | 只看该作者
chinaren12 发表于 2023-12-9 11:30
如上图所示,简单点讲就是把事项中所有相同的项目合并到一起,并把数量和金额累加到一起。

只不过是我 ...

此时应该上神器:
回复

使用道具 举报

8#
发表于 2023-12-9 11:55:09 | 只看该作者
很简单的,一个xlookup和sumif就可以搞定的问题
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-11-21 22:50

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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