第一范文网 - 专业文章范例文档资料分享平台

如何在EXCEL中实现按单元格背景颜色求和或计数

来源:用户分享 时间:2025/10/23 17:51:38 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

EXCEL进阶

如何在EXCEL中实现按单元格背景颜色求和或计数

我们在EXCEL工作表中,如果要对多个单元格的数值进行求和,一般都会用到SUM函数,SUM函数的计算结果可以根据各个对象单元格数值的变化而发生变化,满足了大多数EXCLE用户的需求。但是,在SUM函数中,当被求和单元格的位置发生变化时,SUM函数是无法进行自动求和的,这就需要用到SUMCOLOR函数,它能根据单元格的背景颜色进行求和,无论是单元格的位置发生了变化还是单元格数值发生变化,只要被求和单元格的背景颜色一致,SUMCOLOR函数都可以实现对她们的求和。如果要对相同颜色单元格进行计数,也可以运用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

然后关闭此界面,返回到工作表。点击工具--宏--安全性--安全级--低--确定。保存并关闭工作表,再打开工作表就可以使用SUMCOLOR和COUNTCOLOR函数了。

现在我们再来根据单元格的背景颜色进行求和与计数,方法如下: 按颜色求和公式为:sumcolor(颜色示列格,求和区域或列); 按颜色计数公式为: countcolor(颜色示列格,求和区域或列)。 如下图,

要对A1到A11这个区域内的蓝色格进行求和,在E1单元格中编辑公式=sumcolor(D1,$A$1:$A$11);

要对A1到A11这个区域内的蓝色格进行计数,在E6单元格中编辑公式=countcolor(D6,$A$1:$A$11),一定要在半角模式下编辑公式哦!

如果A1到A11这个区域内单元格背景颜色发生变化,只需双击E1单元格,再按回车键,E列单元格中的数值就会随着颜色的改变而变化过来。如下图:

请注意,只有在EXCEL表中对宏进行设置之后,才能使用SUMCOLOR和COUNTCOLOR函数,如果不做任何宏设置,直接输入这两个函数,EXCEL是无法识别的。

希望能够帮助到对这方面有需求的同事们!

芜湖购物人力资源部 方琴 2012-7-17

如何在EXCEL中实现按单元格背景颜色求和或计数.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c2yxj59xmyx423gj8fm53_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top