在Excel中,有很多函数。但是,没有函数可以根据提供的单元格颜色求和。
方法/步骤
1、比如,有如下的单元格区域。
2、我们知道,上表中,不相邻的单元格,有些单元格的背景颜色是一样的。现在的问题是,如何对颜色一样的单元格进行求和。即对颜色相同的单元格中的数字进行求和。
要解决这个问题,得使用VBA来实现,普通的函数是无法完成这种求和的。
首先,在EXCEL界面中,按下组合键Alt + F11
这个时候,会弹出一个Microsoft Visual Basic窗口。
之后,在此窗口中,执行菜单操作:“插入”→“模块”,如下图。
3、接着,我们会看到一个“模块1(代码)”的白色小窗体。这个窗体就是用来输入VBA代码的窗体。如想下图。
4、直接在输入小窗体中输入VBA代码即可,如上图的那些代码就是,注意,完整的跟着输入,千万别错了。
为方便大家的学习,下面将代码粘贴如下:
复制代码
代码如下:
Function MyColorSum(Ref_color As Range, Sum_range As Range)
Application.Volatile
Dim iCol As Integer
Dim rCell As Range
iCol = Ref_color.Interior.ColorIndex
For Each rCell In Sum_range
If iCol = rCell.Interior.ColorIndex Then
MyColorSum = MyColorSum + rCell.Value
End If
Next rCell
输入好了,接下来,就关闭Microsoft Visual Basic窗口,返回到EXCEL窗口,然后,对EXCEL进行一次保存操作。
现在,就到了最后的一步了。
如下图一样,要想统计哪种颜色的单元格的和,就使用上面代码的函数名称进行统计即可。
5、比如,我们要统计红色的单元格的和,那么,就输入如上图的代码。
=MyColorSum(C2,A1:C10)
END