项目:如何统计标记黄色的项目数量
今日学习目标
快速解决按照颜色计数的问题
在讲Excel的时候,我经常强调表格设计的重要性。
表格中的信息,一定要尽量保存到单元格中,用具体的数值、文本来记录信息。
一切麻烦的表格,都是不懂表格设计,自己给自己挖的坑。
比如下面这个表格:
黄色单元格,代表信息有误
我们的项目经理,对项目的每个环节,都做了详细的标记;「黄色」代表信息记录是有误的。
现在他的困扰是:
如何根据标记颜色,快速统计出每行错误的数量?
现在是手动数的,这个表一做就是一下午。
你说这不是造吗?如果…不就…
算了,事情都发生了,我们还是想想怎么帮他解决掉吧!
1- 问题描述
问题是非常简单的,就是按照颜色统计数量。
但是本质上,这个是一个记录不规范的问题,黄色实际代表的是一个字段名为「项目是否错误」的数据。。。bala bala。。。
2- 原因分析
我还是忍不住,要说一下:这个需求很简单,为什么不好统计呢?
原因有两个:
1- 非数值类数据
黄色本质上就是一个字段名为「项目是否错误」的数据,如果表格中有这样一列数据,那么直接用CountIf就可以轻松搞定了。
2- 没有CountByColor的函数
最主要的原因,其实就是因为Excel中没有根据颜色求和的函数。
既然没有,那我们就创造一个,名字就叫CountByColor函数,一个公式搞定这个难题。
接下来我们看看,这个CountByColor具体是怎么弄出来的。
3- 解决方法
在Excel中创造函数,就必须得用VBA了。
不懂没关系,下面是操作步骤,跟着做就好了。
1- 手写一个CountByColor函数
1- 打开VBE编辑器
在工作表上,点击右键,选择「查看代码」
2- 粘贴代码
在左边的项目管理器中,右键新建一个「模块」。
然后粘贴下面的代码。
Function CountByColor(ByVal countRange As Range, ByVal colorCell As Range)
Dim color As Long, result As Integer
color = colorCell.Interior.color
result = 0
For Each cel In countRange
If cel.Interior.color = color Then
result = result + 1
End If
Next
countByColor = result
End Function
这样,自定义的CountByColor函数就设计好了。函数的结构大概是这样的
CountByColor(countRange , colorCell)
1- countRange,要计数的单元格区域。
2- colorCell,要统计的颜色,选择有相同颜色的单元格即可。
接下来就是回到表格中,使用这个函数了。
2- 使用CountByColor统计
在公式中使用CountByColor函数,进行计数
4-总结
先给我3秒钟回味一下:CountByColor函数,真香!
用VBA自定义函数,简直像一扇女浴室大门,让我大开眼界。
想象一下,有了自定义公式,还能干什么?
一个公式提取中文
一个公式提取数字
一个公式计算时间
你猜对了,这些公式,我都给大家准备好了,而且都打包到了一起,我给他们起了一个很可爱的名字「公式Plus」,点击下面图片,了解详情。
后台回复「颜色计数」获取案例文件,自己动手练习一下
5- 聊5毛钱
今天的课,就到这里。
配合老师互动一下可以吗?
除了用颜色标记,你还想拥有哪些「一个公式搞定」的功能?
不要冷场,千万不要冷场啊!
评论区见!
我是拉小登,一个会设计表格的Excel老师
= = 推荐文章 = =
【公式Plus】P_KAOQIN,考勤计算不用写那么多IF函数了
联系作者
大佬,写的VB代码并不包含自动更新呦