将永恒君的百宝箱设为星标精品文章第一时间读
Excel表格里经常会出现合并的单元格,如果要对这些合并单元格的填充汇总的值,该怎么做?
如下图,需要将A、B、C零部件的重量汇总,填入“单重”单元格(N2),然后将数量*单重的结果填入总重(O2)。
观察一下可以看到,A、B、C的零部件个数不一样,也就是合并后的汇总单元格行数不一样,如果直接用填充单元格的方法是行不通的。
这里给大家分享两个解决的方法。
方法一:Ctrl+Enter
选中需要汇总的合并单元格(N2:N11),然后在公式栏里输入第一个合并单元格的公式(=SUM(I2:I5)),然后按Ctrl+Enter。总重的计算也是一样的。
方法二:VBA
原理和方法一基本相似,只是用代码表示出来了而已。
Row=[I2].End(xlDown).RowRange("B2:B"&Row).CopyRange("N2:N"&Row).SelectActiveSheet.PasteApplication.CutCopyMode=FalseRange("N2:N"&Row).FormulaR1C1="=SUM(OFFSET(RC[-5],0,0,MergeRowsCount(RC[-12])))"Range("O2:O"&Row).FormulaR1C1="=RC[-1]*RC[-4]"
其中MergeRowsCount()是自定义的函数,目的是用来计算合并单元格的行数。
MergeRowsCount=Rng.MergeArea.Rows.Count
效果如下,使用VBA有个好处就是,如果后面还有新增的内容需要汇总,直接一键即可实现。方法一的话则需要重新按Ctrl+Enter进行计算。
大家如果觉得实用,点个“在看”并分享给更多的朋友吧!
你可能还会想看:
Excel如何将数据逐一拆分成单行?
Excel VBA 实例(28) - 批量生成word报告
Excel VBA 实例(27) – 一键按列分类并保存单独文件
欢迎交流!
微信公众号:永恒君的百宝箱个人博客:
点个赞支持下永恒君吧!
如果觉得《Excel VBA 实例(29) - 快速实现合并单元格的填充》对你有帮助,请点赞、收藏,并留下你的观点哦!