Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1028|回复: 4

条件汇总多行数据及删除没用行

[复制链接]
发表于 2022-5-24 20:13 | 显示全部楼层 |阅读模式
需要合并单元格以及汇总每行的文字以及金额,会有两种情况

条件:根据C列如果单元格为空就把下方数据汇总到上面有内容的行里,然后删除C列单元格为空的行。

第一种:请看表格6-8行C列为合并单元格,只保留追上面一行,把C列后面的数据如果是文字的就汇总到一个单元格用“/”区分,如果是金额的就汇总到第一行汇总后把没用的行删除。比如表格6-8行数据,把这3行的数据都汇总到第6行内,汇总后把第7-8行删除。合并后请看第9行内容。


第二种请款是C列没有合并单元格请看表格11-14行要求一样吧数据汇总到第一行内,汇总后把没用的行数删除。比如表格11-14行数据,把这4行的内容全部汇总到第11行内,然后把12-14行删除,汇总后请看表格15行数据 合并单元格金额及数据.rar (111.38 KB, 下载次数: 23)
 楼主| 发表于 2022-6-17 00:55 | 显示全部楼层
回复

使用道具 举报

发表于 2022-6-17 23:20 | 显示全部楼层
本帖最后由 hasyh2008 于 2022-6-18 09:40 编辑

今天电脑上不了,需要的话加QQ:504265918
2022-06-18_093631(1).jpg
回复

使用道具 举报

发表于 2022-6-18 11:21 | 显示全部楼层
  1. Sub main()
  2. Dim fore, back
  3. Range("C:D").UnMerge
  4. lastRow = Range("B65536").End(xlUp).Row
  5. Application.DisplayAlerts = False
  6. Range("C6:C" & lastRow).SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
  7. fore = 0
  8. For i = 5 To lastRow
  9. If Cells(i, "C") = Cells(i + 1, "C") Then
  10. s = s & "" & Cells(i, "D")
  11. fore = i
  12. Else

  13. If fore > 0 Then
  14. Range("C" & fore + 1 & ":C" & back + 1).Merge

  15. s = s & "" & Cells(i, "D")
  16. s = Right(s, Len(s) - 1)
  17. Range("D" & fore + 1 & ":D" & back + 1).Merge
  18. Range("D" & fore + 1 & ":D" & back + 1) = s
  19. s = ""
  20. End If

  21. fore = 0
  22. back = i

  23. End If


  24. Next
  25. Range("D:D").WrapText = True
  26. End Sub
复制代码
回复

使用道具 举报

发表于 2022-6-27 20:04 | 显示全部楼层
本帖最后由 我行我速2008 于 2022-7-13 18:15 编辑

不行吗??????

合并单元格金额及数据(20220617).rar

150.86 KB, 下载次数: 2

回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-6-1 22:10 , Processed in 0.182716 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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