Excel按单元格颜⾊计数、求和,你都学会了吗?
⽂|效率⽕箭
源|效率⽕箭(ID:xlrocket)
在Excel表格中,会有童鞋喜欢给不同的内容标上不同的⾊块以⽰区分。
但问题就来了,到底该怎么对不同的⾊块进⾏简单统计,⽐如求个和、计个数之类的呢?
本篇将介绍三种⽅法来对不同底⾊的单元格进⾏计数操作:
使⽤筛选和SUBTOTAL函数
使⽤GET.CELL函数
使⽤宏
1  筛选+SUBTOTAL
该法包含了两部分:
基于不同底⾊,对单元格进⾏筛选;
使⽤SUBTOTAL函数对可见的单元格计数(筛选后)
假设,我们现在有这么⼀个原数据表格,其中分别有绿⾊和橙⾊两种颜⾊的⾼亮单元格。接着就看下,该如何实现对不同颜⾊单元格的计数。>>>使⽤SUBTOTAL函数
在数据下⽅的单元格中输⼊公式命令:=SUBTOTAL(102,E1:E20)
计数但忽略隐藏值,往下⾛你就能明⽩它的厉害之处。
excel求和的三种方法公式中102代表,计数但忽略隐藏值
>>>根据单元格背景颜⾊,进⾏筛选
⼀旦你按照单元格颜⾊筛选后,就能看到下图的效果:
使⽤SUBTOTAL函数的计数结果变成了4,忽略了其他筛掉的单元格。
使⽤COUNT函数的计数结果依然维持在19。
02 GET.CELL
⾸先要说明的是,GET.CELL是⼀个在早期Excel使⽤的函数。主要是为了提取单元
定义名称】功能进⾏使⽤。
功能进⾏使⽤。
版本中必须利⽤【定义名称】
格相关的属性参数,在⽬前的Excel版本中必须利⽤【
>>>创建⼀个定义名称
点击公式->定义名称
在弹出的对话框中输⼊以下信息:
名称:GetColor
⼯作薄
范围:可以使⽤默认的⼯作薄
引⽤位置:=GET.CELL(38,Sheet1!$A2)
38在这⾥意味着提取的是单元格的背景⾊(具体此参数的其他设置法,在此就不展开了),⽽Sheet1!$A2则表⽰在Sheet1表中以A列为绝对引⽤。
>>>在每⾏末尾单元格尝试下GetColor的效果
在F列输⼊=GetColor这么⼀个公式,结果就是没有背景⾊的返回值为0,橙⾊的返回值为40,绿⾊为50。
>>>利⽤COUNTIF+GetColor计算不同颜⾊的单元格
在B22/B23单元格中分别输⼊=COUNTIF($F$2:$F$20,GetColor),最终便计算出绿⾊数量为3,橙⾊数量为4。
为什么可以这样呢?
COUNTIF函数利⽤GetColor这个⾃定义的名称作为判断条件,在提取了A22/A23单元格的背景⾊参数后,对⽐F2:F20这个区域的参数。
03 VBA
你得先利⽤VBA创建⼀个⾃定义函数,然后将以下代码加到⼀个新的模块中:
Function GetColorCount(CountRange As Range, CountColor As Range)
Dim CountColorValue As Integer
Dim TotalCount As Integer
CountColorValue = CountColor.Interior.ColorIndex
Set rCell = CountRange
For Each rCell In CountRange
If rCell.Interior.ColorIndex = CountColorValue Then
TotalCount = TotalCount + 1
End If
Next rCell
GetColorCount = TotalCount
End Function
这个名为GetColorCount的⾃定义函数有两个参数,分别:
-CountRange是为了来定义需要计数某颜⾊单元格的区域
-CountColor则是为了确定这⼀颜⾊
在单元格G3中输⼊=GetColorCount($A$2:$A$20,G3),也就是说需要在A2:A20这个区域到与G3背景⾊相同的单元格数量。这三招,你都掌握了吗?
- END -

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。