按单元格颜色求和,一个小众的需求,却也经常遇到。

我们先来看下最基本的方法,Ctrl+H,即查找法。

查找法

查找法适用于单个颜色、一次性的求和。

首先按下Ctrl+F键,调出查找框,接着点击右侧“格式”,点击“从单元格选择格式”,然后鼠标点选任意颜色单元格(这里选择黄色单元格求和),如下图所示:

接着点击“全部查找”,这时候会把所有黄色单元格全部查找出来,Ctrl+A,全选所有查找结果。

这时候在Excel底部状态栏就已经可以看到黄色单元格的数字和了,如下图所示:

我们也可以将所有黄色单元格进行定义名称,方便进行其它数学运算。

Ctrl+A全选黄色部分之后,在左上角的名称框内手动输入"黄色"(可任意输入名称),按回车键完成输入,接着在任意单元格输入对应公式,即可对黄色区域进行数学运算。

动图展示如下:

可以发现的是查找法 只适用于 单个颜色、一次性的情况,如果后续有新增、减少、变动的黄色单元格,要想获取最终数值,还需要将上面的步骤重新操作一遍,比较麻烦。

同时如果需要对多个不同颜色区域求和,需要多次查找,无法一步到位。

下面来看看第二种方法,通过VBA实现自定义函数。

自定义函数

首先将以下代码粘贴到VBE界面中去

Function sumC(srange As Range, cel As Range)

Dim rng As Range

For Each rng In srange

If rng.Interior.ColorIndex = cel.Interior.ColorIndex Then

sumC = Application.Sum(rng) + sumC

End If

Next rng

End Function

完整界面如下图所示:

如果不知道如何插入VBA代码,可以通过下方专栏的第一节了解。

这里我们通过VBA语句自定义了一个函数:sumC,一共有两个参数:

srange为需要求和的区域;cel为求和的颜色(单元格)。

回到工作表界面,如果要求黄色区域数字和,直接输入以下公式:

=sumc(B2:C9,B2)

求红色区域和:

按列求黄色单元格数字和

可以发现的是,自定义函数更加灵活,可以按区域操作、按行列操作,只需变更参数一和参数二,即可对多种颜色、不同区域进行求和计算。

小结

综合来看,按单元格颜色求和,若是一次性操作,大家可以利用Ctrl+H查找法,若是需要多次复用、且需要指定区域求和的情况,大家可以利用自定义函数的方法。

以上就是今天的分享,希望对你有所帮助。