二维码 购物车
部落窝在线教育欢迎您!

Excel教程:Excel根据单元格填充颜色求和的三种方法

 

作者:夏雪来源:部落窝教育发布时间:2018-08-28 14:07:37点击:28676

分享到:
0
收藏    收藏人气:0人
版权说明: 原创作品,禁止转载。

小编有话说:之前遇到好多小伙伴问小编Excel根据颜色填充求和的问题,今天就给大家推荐最简便的三种Excel单元格颜色求和的方法,轻轻松松解决这个难题!在查找、宏表函数和VBA三种方法中,最让小编眼前一亮的就是使用VBA完成颜色求和这种方法啦,原本一直以为我们只能使用excel中已有的函数去解决问题,没想到还可以用VBA自定义函数,简直太好玩儿了!


在工作过程中,有时为了方便区分不同的类别,一般都会选用给单元格标注颜色,这种方法简单快捷。那如果后续想根据单元格颜色来进行汇总怎么办呢?我们都知道可以按单元格颜色进行筛选,那除了最简单的筛选,还有什么其他办法呢?今天给大家介绍几个按Excel单元格颜色求和的方法。

如图,根据下列案例分别按不同的四个颜色对订单数进行求和。

excel颜色求和公式


一、查找求和

查找这个功能大家都经常用,但是根据颜色来查找大家都会用吗?具体方法如下:

点击开始选项卡下,【编辑】组里的“查找和选择”下方的“查找”或者按Ctrl+F就可以打开“查找和替换”窗口。

excel根据颜色填充求和

在“查找和替换”窗口点击“选项”。选项上方就会出现“格式”下拉框,在下拉框选择“从单元格选择格式”。也可以直接选择格式进行设置,不过从单元格选择当然更方便了。

excel单元格颜色求和

鼠标就会变成一个吸管,点击黄色的单元格之后,格式旁边的预览窗格就是黄色的。点击“查找全部”下方就会出现所有黄色的单元格。

Excel教程:Excel根据单元格填充颜色求和的三种方法

点击下方查找到的任一条记录,按住Ctrl+A,所有黄色的单元格就被选中了。工作表右下角就出现了所有黄色的求和。

excel中相同颜色求和

然后再利用这种方法再依次把其他颜色的单元格求和值获取出来就可以了。

这种方法简单易操作,缺点就是只能根据颜色一个个进行操作。


二、宏表函数求和

Excel中可以使用宏表函数get.cell来得到单元格的填充色。但宏表函数必须自定义名称才能使用,具体方法如下:

点击公式选项卡下【定义的名称】组里的“定义名称”。

 excel按颜色汇总函数

在“编辑名称”窗口,名称输入“color”,引用位置输入“=GET.CELL(63,宏函数!B2)”。“宏表函数”是所在工作表的名称,由于首先在C2单元格输入公式获取颜色值,所以这里选用带颜色的单元格B2。不加绝对引用就可以方便在其他单元格同样也能获取到左侧单元格的颜色值。

excel自动按颜色求和

然后在C2:C10单元格里输入“=color”。这列的值就是颜色值。

 excel怎么按颜色求和

同理,在颜色这一列F2:F5旁边也输入颜色值“=color”。

	excel按颜色求和

最后根据一一对应的颜色值,使用SUMIF函数“=SUMIF(C:C,F2,B:B)”即可。

Excel教程

利用宏表函数获取颜色的值,然后通过SUMIF函数进行求和。这种获取颜色值的方法除了可以使用SUMIF函数之外,还可以使用其他不同的函数来对颜色进行多角度分析,非常方便实用。


三、VBA求和

获取单元格颜色最方便最快捷的方式当然是使用VBAExcel本身包含的函数无法实现按颜色求和,我们通过VBA自己构建一个自定义函数来帮助实现按颜色求和。

按住Alt+F11或者在工作表标签上右键“查看代码”打开VBA编辑器。

VBA编辑器里点击插入下方的“模块”。

点击新创建的模块--模块1,在右侧窗口输入以下代码。

Function SumColor(col As Range, sumrange As Range) As Long

    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是自定义的函数名称,里面包括两个参数,第一参数col是要获取颜色的单元格,第二参数sumrange是求和区域。

(这里相当于我们自己创建一个函数SumColor,并且自己定义函数的2个参数的含义。对于初学者来说,暂时可以不用理解这段代码的意思,只需要保存下来,作为模板套用即可)

点击“文件”-“保存”,然后直接关闭VBA编辑器即可。

自定义函数定义好之后,直接在工作表进行使用就可以了。在F2:F5单元格输入“=SumColor(E2,$A$2:$B$10)”就可以了。

注意:宏表函数和VBA用法由于使用了宏,在EXCEL2003版本可以直接保存,但2003以上版本需要保存为“xlsm”格式才能正常使用。

对于标记颜色的单元格来说,查找这个方法容易使用但适用场景不多,VBA功能很强大,但是要想彻底弄懂还需要更深层次的学习。宏表函数这个方法比较简单,而且也比较实用,觉得有用的话赶紧收藏吧!


本文配套的练习课件请加入QQ群:264539405下载。

如果您因工作所需使用到Excel,不妨关注部落窝教育的《一周Excel直通车》视频课或Excel极速贯通班》直播课系统学习。

如果您想要随时随地学习excel,扫下方二维码,可关注公众号,每日为您推送优质excel教程:

 Excel教程相关推荐:

        Powerquery多表合并案例:一键完成多个sheet合并