第1个回答 2017-05-07
EXCEL
进阶
如何在
EXCEL
中实现按单元格背景颜色求和或计数
我们在
EXCEL
工作表中,
如果要对多个单元格的数值进行求和,
一般都会用到
SUM
函数,
SUM
函数的计算结果可以根据各个对象单元格数值的变化而发生变化,
满足了大多数
EXCLE
用户的需求。
但是,在
SUM
函数中,当被求和单元格的位置发生变化时,
SUM
函数是无法进行自动求和的,这
就需要用到
SUM
COLOR
函数,它能根据单元格的背景颜色进行求和,无论是单元格的位置发生了变
化还是单元格数值发生变化,只要被求和单元格的背景颜色一致,
SUM
COLOR
函数都可以实现对她
们的求和。如果要对相同颜色单元格进行计数,也可以运用
COUNTCOLOR
函数实现。
可是,
EXCLE
本身并没有这两项功能,我们必须要通过宏与
VBA
才能实现,方法很简单,以
EXCEL2003
为例:
首先,打开你的
EXCEL2003
工作表,点工具
--
宏
--Visual Basic
编辑器,得到以下界面:
在界面左上角
Sheet1
点右键
--
插入
--
模块,打开以下编辑界面:
然后在打开的编辑框中输入以下代码:(有需要的朋友可以找作者索取此代码直接粘贴即可)
Function CountColor(col As Range, countrange As Range) As Integer
Dim icell As Range
Application.Volatile
For Each icell In countrange
If icell.Interior.ColorIndex = col.Interior.ColorIndex Then
CountColor = CountColor + 1
End If
Next icell
End Function
Function SumColor(col As Range, sumrange As Range) As Integer
Dim icell As Range
Application.Volatile
For Each icell In sumrange
If icell.Interior.ColorIndex = col.Interior.ColorIndex Then
SumColor = Application.Sum(icell) + SumColor
End If
Next icell
End Function
然后关闭此界面,返回到工作表。点击工具
--
宏
--
安全性
--
安全级
--
低
--
确定。保存并关闭工
作表,再打开工作表就可以使用
SUM
COLOR
和
COUNTCOLOR
函数了。本回答被提问者采纳