发布者认证信息(营业执照和身份证)未完善,请登录后完善信息登录
 终于懂得Excel 合并单元格求和,一个函数就搞定了 - 最新消息 - 客集网
Hi,你好,欢迎来到客集网
  • 产品
  • 求购
  • 公司
  • 展会
  • 招商
  • 资讯
  • 解梦
当前位置: 首页 » 资讯 » 加盟商机 找商家、找信息优选VIP,安全更可靠!
终于懂得Excel 合并单元格求和,一个函数就搞定了 - 最新消息
发布日期:2023-08-14 22:47:58  浏览次数:10

人要是倒霉啊,写一个 SUM 函数都能报错。

- SUM 函数我会,相对绝对引用我也会!

- 但是合在一起,就不会了!

没错,我说的就是合并单元格求和。

比如下面的表格中,要在 D 列合并单元格中求和,公式长成这样:

=SUM(C2:$C$20)-SUM(D3:$D$20)

你能看懂这个公式吗?

看不懂就算了!咱有更好的方法。

1

让大家写这个公式,就跟让董宇辉老师跟李佳琦学习卖货一样。

董宇辉是一个老师,擅长的是教学、讲课,旁征博引,传递知识;硬让他学习李佳琦 OMG 式的卖货,他做不来!

大家平时就是拿表格填一填数,核对一下数据,打印一下报表。非得让你写这样复杂的公式,太难为人了。

我想到了一个方法,把合并单元格求和变的很简单。改善后,公式长成这个样子。

=P_SUM_BY_HEBING(C2)

一个 P_SUM_BY_HEBING 函数解决问题,不用相对绝对引用,不用减来减去,就一个函数,这下不乱了!

2

P_SUM_BYHEBING 函数会自动识别出合并单元格的区域,并进行求和。

它有几个参数:

sum_cell:必须。要求和的单元格

只选 1 个单元格就可以了,目的是获得求和单元格所在的列。Excel 会自动判断求和的区域。

hebing_cell:可选。合并的单元格。

在求和的时候,要判断的合并单元格。

如果不设置这个参数,则默认为当前写公式的单元格。

is_by_col:可选。合并单元格是否按列合并的

表示合并单元格是否是按照列合并的。有两种结果:

- 1。默认:表示合并单元格,是按列合并的。

- 0。表示合并单元格,是按照行合并的。

来看几个例子,立马就能明白!

1- 合并单元格求和

按照合并单元格求和,基础用法,公式如下:

=P_SUM_BY_HEBING(A100)

公式中,P_SUM_BY_HEBING 根据第 1 个参数,知道了是对 A 列求和。

因为当前公式是在 B2 单元格,这个是一个第 2~3 行的合并单元格。

此时 P_SUM_BY_HEBING 会自动识别出,求和的区域是 A 列,第 2~3 行的区域。即 A2:A3,并进行求和计算。

2- 按照指定合并单元格求和

下面的案例中,按照 B 列合并单元格求和,计算结果填写到 C 列。

=P_SUM_BY_HEBING(C2,A2)

计算原理是类似的:

1- 第 1 个参数,确定出要求和的是 C 列的单元格。

2- 第 2 个参数,识别出求和的行是第 2~3 行。

这样综合得出求和区域是 C2:C3 单元格,计算后结果返回到 D2 单元格。

有趣的是,P_SUM_BY_HEBING 函数会自动识别第 1 个参数中的合并单元格,只要这个单元格,在合并单元格区域中就可以了。

3- 横向合并单元格求和

下面的公式,对横向的合并单元格快速求和。

通过设置第 3 个参数为 0,可以对横向合并的单元格求和。

=P_SUM_BY_HEBING(B1,,0)

公式的用法也是完全一样的。Excel 自动识别出合并单元格,并进行求和。

总结如何获得函数?

P_SUM_BY_HEBING 函数的代码如下,复制粘贴到你的 VBA 中,就可以使用了。

Function P_SUM_BY_HEBING(ByVal sum_cell As Range, Optional ByVal hebing_cell As Range, Optional ByVal is_by_col As Integer = 1)     Dim thisCell As Range, new_area As Range, first_cell As Range, cells_count As Integer     Dim sr As Long, sc As Long, fr As Long, fc As Long          If Not hebing_cell Is Nothing Then         Set thisCell = hebing_cell     Else         Set thisCell =      End If          Set first_cell = (1, 1)     sr =      sc =      fr =      fc =           If  Then         If is_by_col = 0 Then             cells_count = .Count - 1             Set new_area = Range(Cells(sr, fc), Cells(sr, fc + cells_count))         Else             cells_count = .Count - 1             Set new_area = Range(Cells(fr, sc), Cells(fr + cells_count, sc))         End If         P_SUM_BY_HEBING = (new_area)     Else         P_SUM_BY_HEBING = sum_cell     End If End Function

本文来自微信公众号:拉小登 (ID:ladengchupin),作者:拉登 Dony

VIP企业最新发布
最新VIP企业
背景开启

客集网是一个开放的平台,信息全部为用户自行注册发布!并不代表本网赞同其观点或证实其内容的真实性,需用户自行承担信息的真实性,图片及其他资源的版权责任! 本站不承担此类作品侵权行为的直接责任及连带责任。

如若本网有任何内容侵犯您的权益,请联系 QQ: 1130861724

网站首页 | 信息删除 | 付款方式 | 关于我们 | 联系方式 | 使用协议 | 版权隐私 | 网站地图 (c)2014-2024 Rights Reserved 鄂公网安备42018502007153 SITEMAPS 联系我们 | 鄂ICP备14015623号-21

返回顶部