返回目录:win7问题
内容导航:
一、根据颜色求和与计数,你用了1天,我使用自定义函数1分钟就搞定了
Hello,今天有粉丝遇到这样的一个问题,就是老板给他很多带有颜色的表格,想让他根据颜色求和以及计数,他一个一个做了很久也没做出来,问我有没有什么简单的方法,当然有了,我们觉得最快捷的方法就是使用vba自定义函数来计算,操作也非常的简单,下面就让我们来一起操作下吧
一、代码展示
1.根据颜色求和代码
Function SumColor(i As Range, ary1 As Range)
Dim icell As Range
Application.Volatile
For Each icell In ary1
If icell.Interior.ColorIndex = i.Interior.ColorIndex Then
SumColor = Application.Sum(icell) + SumColor
End If
Next icell
End Function
2.根据颜色计数代码
Function CountColor(x As Range, ary2 As Range)
Application.Volatile
For Each i In ary2
If i.Interior.ColorIndex = x.Interior.ColorIndex Then
CountColor = CountColor + 1
End If
Next
End Function
在这里我们定义了SumColor与CountColor两个自定义函数,
SumColor:对指定颜色的单元格求和
第一参数:想要求和的单元格颜色
第二参数:求和的数据区域
CountColor:对指定颜色的单元格计数
第一参数:想要计数的单元格颜色
第二参数:想要计数的单元格区域
二、设置自定义函数
我们先点击开发工具,然后点击visal basic,然后在vba的编辑界面中点击插入,选择模块,将刚才定义的两个函数粘贴进去,直接将界面关闭即可
三、使用函数
自定义函数与内置函数的使用方法是一摸一样的,我只需输入函数对应的名称,然后填写相应的参数即可
怎么样,使用这种方法就统计带颜色的单元格是不是非常的简单呢?
我是Excel从零到一,关注我持续分享更多Excel技巧
二、excel怎么按照字体颜色求和?比如A1:A200中,要求把字体显示为绿色的数字自动求和?谢谢!
不知道你显示为绿色的数字,是否满足一定条件。比如大于100拉,等等。这个好办,你可以使用条件求和函数。虽是函数,但是却很简单的。函数用法如下:SUMIF(求和区域,条件)
如求大于100的。SUMIF(A1:A200,">100")。就可以拉
颜色数字如果是随意的,就不太好办了。只有使用笨办法。一个一个选中求和吧
三、如何在EXCEL中实现按单元格背景颜色求和或计数
EXCLE本身并没有这两项功能,我们必须要通过宏与
VBA
才能实现,方法很简单,以
EXCEL2003
为例:
首先,打开你的
EXCEL2003
工作表,点工具
--
宏
--Visual Basic
编辑器
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
然后关闭此界面,返回到工作表。点击工具--宏--安全性--安全级--低--确定。保存并关闭工作表,再打开工作表就可以使用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 自动求和红色字体的单元,公式如何添加?
1、首先打开数据区域,发现业绩评分中的字体有黑色的有红色的有蓝色的,那么如何按照字体的颜色进行求和和计数
2、依次选择数据分析,分析与统计,中的颜色统计
3、单击后在弹出的对话框中,我们选择数据区域
4、选择好数据区域后,我们需要确定按照哪个的字体颜色进行统计,此时我们可以单击颜色按钮,并选择带有蓝色字体的单元格