无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
12
返回列表 发新帖
楼主: chinaren12
打印 上一主题 下一主题

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

[复制链接]
31#
发表于 2023-12-10 10:38:05 | 只看该作者
就是用数据透视表就可以了


点评

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

使用道具 举报

32#
发表于 2023-12-10 11:53:41 | 只看该作者
谢谢
回复

使用道具 举报

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

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

使用道具 举报

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

使用道具 举报

35#
发表于 2023-12-12 08:51:10 | 只看该作者
谢谢
回复

使用道具 举报

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

使用道具 举报

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

使用道具 举报

38#
发表于 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后边少了\


回复

使用道具 举报

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

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-9 17:07

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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