按单元格颜色求和,一个小众的需求,却也经常遇到。
我们先来看下最基本的方法,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查找法,若是需要多次复用、且需要指定区域求和的情况,大家可以利用自定义函数的方法。
以上就是今天的分享,希望对你有所帮助。