如何在Excel中按颜色对单元格求和

虽然不是内置的 Excel 功能,但我们可以创建自己的函数来按颜色轻松对单元格求和。

内容:

1. 如何使用 VBA 用户定义函数

2. 如何对所有彩色单元格求和

3. 如何按特定单元格颜色对单元格求和

如何使用用户定义的函数

下面的两个示例将使用“用户定义函数”。就像 SUM 和 COUNT 被视为函数一样,我们可以使用 VBA 创建自己的函数。

这与使用宏的过程相同,但我们可以调用我们的函数,而不是运行宏,类似于在公式中调用内置函数的方式(通过键入“=”后跟函数名称)。

使用用户定义函数的第一步是获取VBA代码片段,并将其放入工作簿中。为此,请按 alt + F11 或转到 Visual Basic >开发人员选项卡打开 VBA 编辑器:

如何在 Excel 中打开 Visual Basic 菜单

接下来,我们需要创建一个模块来放置自定义函数。在左侧菜单中,右键单击您的工作簿名称,然后选择插入>模块。在此模块中输入的任何代码都可以在工作簿中的任何位置使用。

如何在 Excel 中插入模块

然后,您所要做的就是将函数代码拖放到该菜单右侧的空白区域中,您将能够在工作簿中的任何单元格中按其名称调用自定义函数。

在 Excel 中调用客户用户定义的函数

如何对范围内的所有彩色单元格求和

要对范围内的所有彩色单元格或给定范围内没有空白背景的任何单元格求和,我们可以使用用户定义的函数,我们称之为“SumAllColoredCells”。

此函数将在给定范围内搜索任何彩色单元格并将它们求和。

Function SumAllColoredCells(eval_range As Range) As Double
    Dim cell As Range
    Dim total_sum As Double

    totalSum = 0

    For Each cell In eval_range
        If cell.Interior.ColorIndex <> xlNone Then
            If IsNumeric(cell.Value) Then
                total_sum = total_sum + cell.Value
            End If
        End If
    Next cell

    SumAllColoredCells = total_sum
End Function

例如,这里有一个工作簿,其中有几种不同的颜色表示不同的结果。如果我们想知道这个范围内有多少单元格是着色的,我们可以使用此公式(在我们将函数放入模块之后):

= SumAllColoredCells(cell_range)
= SumAllColoredCells(B3:B12)
如何使用Excel中的公式对范围内的所有彩色单元格求和

通过使用“SumAllColoredCells”函数并选择要求和的范围,我们可以使用自定义函数返回所有彩色单元格的总和(忽略空白单元格)。

对区域内的所有彩色单元格求和

如何对与特定颜色匹配的区域中的单元格求和

与其对区域中所有彩色单元格求和,不如对区域中与特定颜色匹配的单元格求和呢?

例如,我们可以使用上面的相同示例,但创建一个 SUMIF,其中我们的公式将汇总具有与参考单元格颜色匹配的背景颜色的单元格。

Function SumByColor(eval_range As Range, cell_reference As Range) As Double
    Dim cell As Range
    Dim reference_color As Long
    Dim total_sum As Long

    reference_color = cell_reference.Interior.Color
    total_sum = 0

    For Each cell In eval_range
        If cell.Interior.Color = reference_color Then
            If IsNumeric(cell.Value) Then
                total_sum = total_sum + cell.Value
            End If
        End If
    Next cell

    SumByColor = total_sum
End Function

要使用此功能,我们将使用略有不同的结构,通过定义要评估的范围以及包含我们要求和的颜色的单元格。

= SumByColor(cell_range, reference_cell)
= SumByColor(B3:B12,D3)
如何对与特定颜色匹配的区域中的单元格求和

在这里,我们的函数是查看 D3 的颜色,并对 B3:B12 范围内与该颜色匹配的单元格求和。通过复制这个公式,我们可以查看每种颜色的总和,绿色、黄色和红色。

对区域中与特定颜色匹配的所有单元格求和
0

评论0

请先
DBJ46 057-2020 海南省建筑钢结构防腐技术标准
DBJ46 057-2020 海南省建筑钢结构防腐技术标准
5分钟前 有人购买 去瞅瞅看

社交账号快速登录

微信扫一扫关注
扫码关注后会自动登录网站