首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

根据颜色求和与计数,你做了1天,同事2分钟搞定,差距真大

Hello,大家好,今天跟大家分享下我们如何根据单元格的颜色进行求和与计数,很多粉丝都提到过类似的问题,其实这都是源于我们数据整理的时候太过随意,如果在数据整理的的时候就能将数据分类独立的罗列出来,后期直接求和或者计数即可,根据单元格颜色求和与计数各跟大家分享3种方法

一、查找法

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

二、宏表函数法

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

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

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

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

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

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

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

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

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

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

三、使用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的编辑界面,然后点击插入,选择模块,将代码粘贴进去即可

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

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

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

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

使用方法如下动图

以上就是今天的全部内容了,怎么样,你学会了吗?

我是excel从零到一,关注我持续分享更多excel技巧

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200907A0L9K200?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券