怎么把相同颜色的数据求和(表格按颜色求和)
怎么把相同颜色的数据求和(表格按颜色求和)=按颜色求和($B$6:$J$7 D2)求和:同理,如果是计数,只需将统计方式改成计数就可以。这个功能挺好用的,可惜一次只能针对一个颜色,如果有多个颜色,需要重复操作多次。如果你是使用Excel,刚好有一个自定义函数,可以轻松解决。
VIP学员的问题,怎么对下面黄色的单元格进行求和、计数?

偏偏学员还是使用WPS表格,幸运的是,卢子找到了财务工具箱,里面就有按单元格统计的功能。

财务工具箱,其实是智能工具箱里面的一个小功能,点下财务工具箱,就自动出现一个新的菜单。

操作很简单,点财务工具箱,按单元格颜色统计,引用区域和单元格,保持默认不变,确定,结果就出来。

同理,如果是计数,只需将统计方式改成计数就可以。

这个功能挺好用的,可惜一次只能针对一个颜色,如果有多个颜色,需要重复操作多次。
如果你是使用Excel,刚好有一个自定义函数,可以轻松解决。
求和:
=按颜色求和($B$6:$J$7 D2)

计数:
=按颜色计数($B$6:$J$7 D2)

语法都很简单。
=自定义函数(区域 带颜色的单元格)
使用自定义函数很简单,点开发工具,VB,插入模块,将代码粘贴进去,关闭窗口就可以使用。

Function 按颜色求和(求和区域 As Range  参考单元格 As Range  Optional 颜色类型 As String = "填充") As Double
    ' 颜色类型:"填充"或"字体",即按照参考单元格的填充色或者字体颜色进行匹配
    
    Application.Volatile
    Set 求和区域 = Application.Intersect(ActiveSheet.UsedRange  求和区域)
    Dim Rg As Range  Total As Double  Bol As Boolean
    For Each Rg In 求和区域
        Select Case 颜色类型
            Case "填充"
                Bol = (Rg.Interior.Color = 参考单元格.Interior.Color)
            Case "字体"
                Bol = (Rg.Font.Color = 参考单元格.Font.Color)
            Case Else
                按颜色求和 = "第三参数出错,请检查确认"
                Exit Function
        End Select
        
        If Bol Then
            Total = Total   Rg.Value
        End If
    Next
    按颜色求和 = Total
End Function
Function 按颜色计数(i As Range  j As Range)
'新建一个自定义函数,函数名为 Countc(参数 1 是一个区域 i,参数 2 也是一个区域 j)
Dim n As Integer  '定义一个变量 n,变量 n 为数值
Dim k As Range    '定义一个变量 k,变量 k 为区域
For Each k In i   '遍历区域 i 的所有单元格
    If k.Interior.Color = j.Interior.Color Then
    '如果区域 i 的第 k 个单元格颜色与区域 j 相同
        n = n   1
        '用于计数的 n 加 1
    End If
Next
按颜色计数 = n  '将 n 复制给 Countc,作为这个函数的输出结果
End Function
    
WPS表格更适合小白,几乎各种功能都有,机械性操作就行。而Excel更适合高层次的,更加智能,通过PQ、VBA等实现很多高难度的问题。




