分享

求助大神,Excel怎么根据单元格颜色求和啊?急,在线等?

 王断天崖路 2018-01-19

这个问题似乎有点复杂啊。

在Excel表中是不能直接按单元格颜色做求和计算的

我们需要用VBA代码自己创建一个Function,和平常用的函数差不多,只不过各种功能自己定义。

我刚刚研究一下,谢了段VBA,你试试哈

在Excel中Alt+F11,打开VBA编辑器,插入一个模块,写入代码

源码如下:

Function CSUM(CRANGE As Range, SUMRANGE As Range)

'创建一个颜色求和函数CSUM,定义参照颜色区域CRANGE,定义求和区域SUMRANGE

Dim cell As Range, Colors, Data1, Data2 As Integer

Application.Volatile

Colors = CRANGE(1).Interior.Color

For Each cell In SUMRANGE

If cell.Interior.Color = Colors Then

Data2 = Data2 + 1

Data1 = WorksheetFunction.Sum(cell) + Data1

End If

Next cell

If Data2 = 0 Then CSUM = 'No Colors Are Selected': Exit Function

CSUM = Data1

End Function

完成后退出VBA编辑器

去应用一下

公式使用方法和普通的公式一样,按下方方法使用即可

=CSUM(参照颜色,求和区域)

我们再M列标记了几个颜色,在N列去计算标记了此颜色的F列所表示的销量

结果如下:

注意:由于VBA代码中有一个遍历循环的过程,所以选择求和区域SUMRANGE的时候最好选择数据表中有数据的范围,而不要选择一整列数据,选一整列的话计算起来会慢很多。

代码中,我们判断了,没有找到对应参照颜色的的提示,如下:

If Data2 = 0 Then CSUM = 'No Colors Are Selected': Exit Function

所以示例结果中出现了No Colors Are Selected内容,不用在意,就是提醒而已。

会了没?希望对你有帮助,不谢。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多