如果人们运气不好,写一个SUM函数会出错。
—我会做sum函数,我会做相对绝对参考!
—但是在一起,就不会了!
没错,我说的是合并单元格求和。
例如,在下表中,要对D列中的合并单元格求和,公式如下所示:
=SUM—SUM
你能理解这个公式吗。
即使你不懂!我们有更好的方法。
让大家写这个公式,就像让董老师跟学卖货一样。
董是一位善于教学,讲学,引经据典,传授知识的教师。强迫他在李佳琪学习OMG销售,他做不到!
平时大家只是拿着表格填个数字,核对数据,打印报告让你写这么复杂的公式太难了
我想到了一个让合并单元格求和非常简单的方法改进后的公式是这样的
=何冰的总和
一个P _ SUM _ BY _何冰函数解决了这个问题,不需要相对绝对参考或减法。只是一个函数,所以没有乱七八糟!
P_SUM_BYHEBING函数会自动识别合并单元格的面积并求和。
它有几个参数:
Sum_cell:必选和所需的细胞
只需选择1个单元格目的是获取求和单元格所在的列Excel将自动确定求和的面积
何冰_cell:可选合并的单元格
求和时,要判断的合并单元格。
如果未设置此参数,它将默认为当前编写公式的单元格。
Is_by_col:可选合并单元格是否按列合并
指示合并的单元格是否按列合并。有两种结果:
— 1默认值:表示按列合并的合并单元格
— 0表示按行合并的合并单元格
看几个例子,马上就明白了!
1—合并单元格总和
根据组合单元求和的基本用法,公式如下:
=何冰的总和
公式中,根据第一个参数,P _ SUM _ BY _何冰知道它是a列的求和..
因为当前公式位于单元格B2中,所以这是一个由第2~3行组成的合并单元格。
这时P _ SUM _ BY _何冰会自动识别求和的面积是A列2~3行的面积A2:A3,并计算总和
2—按指定合并单元格总和。
在下例中,单元格根据B列合并,计算结果填入C列..
=何冰的总和
计算原理类似:
1—第一个参数,确定C列中的单元格需要求和。
2—第二个参数标识sum行是第2 ~ 3行。
这样,求和区域为C2:C3单元格,计算结果返回D2单元格。
有趣的是,P _ SUM _ BY _何冰函数会自动识别第一个参数中的合并单元格,只要这个单元格在合并单元格区域内。
3—水平积分单元和
以下公式快速对水平合并单元格求和。
通过将第三个参数设置为0,可以对水平积分的单元格求和。
=何冰的总和
公式的用法完全一样Excel自动识别合并的单元格并对它们求和
总结如何得到一个函数。
P _ SUM _ BY _何冰函数代码如下复制并粘贴到您的VBA,你可以使用它
function p _ SUM _ BY _ HEBINGDimthisCellAsRange,new _ areaAsRange,first_cellAsRange,cells _ countAsIntegerDimsrAsLong,scAsLong,frAsLong,fcAsLongIfNothebing _ cellisnothingtensetthiscell =何冰_ cellElseSetthisCell = application . thiscellendifsetfirst _ cell = this cellMergeArea.Cells sr=sum_cellRowsc=sum_cellColumnfr=first_cellRowfc=first_cellColumnIfthisCell . mergecellsthenfis _ by _ col = 0 then Cells _ Count = this cell . merge area . columns . Count—1 set new _ area = Range,Cells)Elsecells _ Count = this cellmerge area . rows . count—1 set new _ area = Range(Cells(fr,sc),Cells(fr+cells_count,sc))endi FP _ SUM _ BY _何冰=WorksheetFunction