Excel怎么根据单元格颜色求和与计数?全面讲解3个实用方法

在Excel表格中,会有童鞋喜欢给不同的内容标上不同的色块以示区分。但问题就来了,在Excel里到底该怎么对不同的色块进行简单统计,比如求个和、计个数之类的呢?本篇全面讲解三种Excel根据单元格颜色求和与计数的实用方法。

在Excel表格中,会有童鞋喜欢给不同的内容标上不同的色块以示区分。但问题就来了,在Excel里到底该怎么对不同的色块进行简单统计,比如求个和、计个数之类的呢?本篇全面讲解三种Excel根据单元格颜色求和与计数的实用方法。

一、查找法

首先我们要选择想要统计的数据区域,然后按Ctrl+F调出查找的窗口,然后点击选项,点击格式选择从单元格选取格式,鼠标就会变成一个小吸管的样子,我们直接吸取想要统计颜色的单元格,然后点击全部查找,紧接着按Ctrl+a选择查找到的全部数据,在工作表右下角的状态栏就会显示该颜色的个数及求和

Excel怎么根据单元格颜色求和与计数?全面讲解3个实用方法
 

二、宏表函数法

有可能会问到宏表函数是什么,宏表函数可以说是vba的前身,但是随着vba的出现,宏表函数已经被逐渐的取代,但是现在仍然可以使用,只不过只能通过定义名称来使用

在这里我们需要用到的宏表函数是GET.CELL,他的参数一共有两个

第一参数:type_num,单元格中的信息,会根据输入的代码返回不同的单元的信息

第二参数:Reference,单元格范围

我们想要获取单元格的单色信息,就需要将GET.CELL函数的第一参数设置为63.因为代码63返回的是单元色的颜色信息

宏表函数的使用必须先对其定义名称,首选我们点击公式,点击定义名称,将名称设置为颜色,然后输入公式=GET.CELL(63,Sheet1!B2),在这里Sheet1是表格的名称,B2是统计区域的第一个单元格,设置完后点击确定

Excel怎么根据单元格颜色求和与计数?全面讲解3个实用方法
 

然后我们直接输入等于颜色,然后向下填充数据,就会根据不同的颜色返回不同的结果,黄色的结果为6.绿色的结果为10

Excel怎么根据单元格颜色求和与计数?全面讲解3个实用方法
 

最后我们使用sumif函数和countif函数进行求与计数即可。

求和公式:=SUMIF(C2:C18,6,B2:B18)

计数公式:=COUNTIF(C2:C18,6)

Excel怎么根据单元格颜色求和与计数?全面讲解3个实用方法
 

三、使用vba自定义函数

1.根据颜色求和代码

Function SumColor(col As Range, sumrange As Range)

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

2.根据颜色计数代码

Function CountColor(ary1 As Range, ary2 As Range)

Application.Volatile

For Each i In ary2

If i.Interior.ColorIndex = ary1.Interior.ColorIndex Then

CountColor = CountColor + 1

End If

Next

End Function

想要使用这两个代码,我们就必须先将其粘贴进vba中,首先我们点击开发工具,选择visual basic,进入vba的编辑界面,然后点击插入,选择模块,将代码粘贴进去即可

Excel怎么根据单元格颜色求和与计数?全面讲解3个实用方法
 

在这里我们自定了了两个函数,根据颜色求和的函数名称是SumColor,根据颜色计数的函数名称是CountColor

这两个函数的参数都是一样的

第一参数:统计颜色的单元格

第二参数:要统计的数据区域,

使用方法如下动图

Excel怎么根据单元格颜色求和与计数?全面讲解3个实用方法
 

这三招,你都掌握了吗?如果这个Excel技巧对你有用,别忘了点个赞哟!

秒懂知识文章系用户自行上传分享,仅供网友学习交流。如作品内容涉及版权问题,请及时与秒懂知识联系,我们将在第一时间删除。文章地址:https://www.xxbaike.cn/9611.html

发表评论

邮箱地址不会被公开。 必填项已用*标注

商务微信

合作QQ

合作电话:17896001082

在线咨询:button_111

邮件:472840686.com