KutoolsforOffice — 一套方案,五大工具。事半功倍。

Excel 技巧:按颜色(背景色、字体色、使用条件格式)对单元格进行计数/求和

作者Xiaoyang修改日期

在日常工作中,颜色标记是快速区分和突出显示关键数据的常用方法。但如何根据特定颜色(如填充色、字体颜色或条件格式所应用的颜色)来统计或求和单元格数据呢?虽然 Excel 默认并未提供直接按颜色统计或求和的功能,但借助一些技巧和间接方法,我们依然可以实现这一目标。本文将为您详解如何按颜色高效统计与求和数据。

统计求和带颜色的单元格示例

根据背景颜色统计和求和单元格

根据字体颜色统计和求和单元格

根据使用条件格式颜色统计和求和单元格


视频:根据颜色统计和求和单元格

 


根据背景颜色统计和求和单元格

例如,如果您有一组数据,其中的单元格填充了不同的背景颜色(如下方截图所示),而 Excel 并未提供直接按背景颜色统计或求和单元格的功能。不过,借助一些巧妙的方法和实用技巧,您依然可以轻松完成这项任务。本节将为您介绍几种高效可行的解决方案。
统计求和带颜色的单元格数据


使用自定义函数按背景颜色统计和求和单元格

此处将为您展示如何在 Excel 中创建并使用此类自定义函数来完成此任务。请按以下步骤操作:

步骤 1:打开 VBA 模块编辑器并复制代码

  1. 按下 Alt + F11 键,即可打开 Microsoft Visual Basic for Applications 窗口。
  2. 在打开的窗口中,单击插入 > 模块,即可创建一个新的空白模块。
  3. 然后,将下方代码复制并粘贴到空白模块中。
    VBA 代码:根据背景颜色统计和求和单元格
    Function ColorFunction(rColor As Range, rRange As Range, Optional SUM As Boolean = False) As Variant
    'Updateby Extendoffice
        Dim rCell As Range
        Dim lCol As Long
        Dim vResult As Double
        lCol = rColor.Interior.ColorIndex
        vResult = 0
        If SUM Then
            For Each rCell In rRange
                If rCell.Interior.ColorIndex = lCol Then
                    vResult = vResult + rCell.Value
                End If
            Next rCell
        Else
            For Each rCell In rRange
                If rCell.Interior.ColorIndex = lCol Then
                    vResult = vResult + 1
                End If
            Next rCell
        End If
        ColorFunction = vResult
    End Function
    

步骤 2:创建公式按背景颜色统计和求和单元格

粘贴上述代码后,关闭模块窗口,然后应用以下公式:

  • 根据特定背景颜色统计单元格数量:
    将下方公式复制或输入到目标单元格中即可获取结果,然后向下拖动填充柄以快速应用至其他单元格。参见截图:
    =colorfunction(G2,$B$2:$E$12,FALSE) 
    注意G2 是包含您要匹配的特定背景颜色的参考单元格;$B$2:$E$12 是要统计 G2 颜色单元格数量的区域;FALSE 用于统计背景颜色匹配的单元格。
    统计求和背景色公式
  • 根据特定背景颜色对单元格求和:
    将下方提供的公式复制或输入到目标单元格中即可获取结果,然后向下拖动填充柄以快速应用至其他单元格。参见截图:
    =colorfunction(G2,$B$2:$E$12,TRUE)  
    注意:在此公式中,G2 是包含您要匹配的特定背景颜色的参考单元格;$B$2:$E$12 是待统计的区域;TRUE 表示对背景颜色匹配的单元格进行求和。
    统计求和背景色结果

使用强大功能按背景颜色统计和求和单元格

对于不熟悉编程的用户来说,VBA 可能显得相当复杂。在此,我们为您推荐一款强大工具——Kutools for Excel,其按颜色统计功能让您只需几次点击,即可轻松根据背景颜色进行计算(如计数、求和、平均值等)。更令人印象深刻的是,按颜色统计功能不仅支持背景颜色,还能基于字体颜色及条件格式进行智能区分与计算。

下载并安装 Kutools for Excel后,请先选择您要基于特定背景颜色进行计数或求和的数据区域。接着,点击 KUTOOLS PLUS,并选择按颜色统计

按颜色统计对话框中,请指定操作:

  1. 标准格式化颜色模式下拉列表中选择;
  2. 背景色统计类型下拉列表中指定,并可在对话框中预览每种背景颜色的统计结果;
  3. 最后,单击生成报告,即可将计算结果导出到新工作簿。

使用 Kutools 统计求和背景色

结果:

现在,您将获得一个包含统计信息的新工作簿。请参见下方截图:
Kutools 统计求和背景色结果

提示
  1. 按颜色统计功能还支持根据标准字体颜色、背景色、条件格式设置的字体颜色,以及填充色与条件格式颜色的组合,对单元格进行统计与求和。
    Kutools 统计求和背景色选项
  2. 如果您对该功能感兴趣,请 立即点击下载,畅享 30 天免费试用

使用筛选和 SUBTOTAL 函数按背景颜色对单元格进行计数和求和

假设我们有一个如下图所示的水果销售表,需要对金额列中的彩色单元格进行计数或求和。
统计求和背景色分类汇总数据

步骤 1:应用 SUBTOTAL 函数

请选择一个空白单元格,用于输入 SUBTOTAL 函数。

  • 要统计所有具有相同背景颜色的单元格,请输入以下公式:
    =SUBTOTAL(102, F2:F16)
  • 要对所有具有相同背景颜色的单元格求和,请输入以下公式;
    =SUBTOTAL(109, F2:F16)
  • 注意:在上述公式中,102 表示在筛选列表中统计数值并排除隐藏单元格;109 表示在筛选列表中对数值求和并排除隐藏单元格;F2:F16 为执行计数或求和操作的区域。
  • 统计求和背景色分类汇总公式

步骤 2:根据特定颜色筛选单元格

  1. 选中表格标题,然后点击数据> 筛选。操作界面如下图所示:
    按背景色筛选
  2. 单击金额列标题单元格中的筛选图标按颜色筛选,然后依次单击按颜色筛选以及您要统计的指定颜色。参见截图:
    按颜色筛选

结果:

筛选后,SUBTOTAL 公式会自动对金额列中的彩色单元格进行计数和求和。请参见截图:
按背景色筛选后的分类汇总结果

注意:此方法要求您要计数或求和的彩色单元格位于同一列中。

根据字体颜色对单元格进行计数和求和

想在 Excel 中根据单元格的字体颜色进行计数或求和吗?假设您有如下图所示的数据,其中单元格文本分别以红色、蓝色、橙色和黑色显示。Excel 默认并不支持此功能,但别担心!本节将为您介绍几种简单实用的技巧,轻松实现这一目标。
统计求和字体颜色数据


使用自定义函数根据字体颜色对单元格进行计数和求和

要对特定字体颜色的单元格进行计数与求和,以下自定义函数可助您轻松完成。请按以下步骤操作:

步骤 1:打开 VBA 模块编辑器并复制代码

  1. 按下 Alt + F11 键,即可打开 Microsoft Visual Basic for Applications 窗口。
  2. 在打开的窗口中,单击插入 > 模块,即可创建一个新的空白模块。
  3. 然后,将下方代码复制并粘贴到空白模块中。
    VBA 代码:根据字体颜色统计和求和单元格
    Function ProcessByFontColor(pRange1 As Range, pRange2 As Range, FunctionType As String) As Double
    'Updateby Extendoffice
        Application.Volatile
        Dim rng As Range
        Dim xTotal As Double
        Dim xCount As Double
        xTotal = 0
        xCount = 0
        For Each rng In pRange1
            If rng.Font.Color = pRange2.Font.Color Then
                If UCase(FunctionType) = "SUM" Then
                    xTotal = xTotal + rng.Value
                ElseIf UCase(FunctionType) = "COUNT" Then
                    xCount = xCount + 1
                End If
            End If
        Next
        If UCase(FunctionType) = "SUM" Then
            ProcessByFontColor = xTotal
        ElseIf UCase(FunctionType) = "COUNT" Then
            ProcessByFontColor = xCount
        Else
            ProcessByFontColor = CVErr(xlErrValue)
        End If
    End Function
    

步骤 2:创建公式以按字体颜色对单元格进行计数和求和

粘贴上述代码后,关闭模块窗口,然后应用以下公式:

  • 根据特定字体颜色统计单元格数量:
    将下方提供的公式复制或输入到目标单元格中,即可获取结果;随后向下拖动填充柄,快速应用至其他单元格。参见截图:
    =ProcessByFontColor($B$2:$E$12,G2, "COUNT")
    注意G2 是包含您要匹配的特定字体颜色的参考单元格;$B$2:$E$12 是用于统计与 G2 字体颜色相同单元格数量的区域。
    统计求和字体颜色公式
  • 根据特定字体颜色对单元格求和:
    将下方提供的公式复制或输入到目标单元格中,即可获取结果;随后向下拖动填充柄,快速应用至其他单元格。参见截图:
    =ProcessByFontColor($B$2:$E$12,G2, "SUM")  
    注意:在此公式中,G2 是包含您要匹配的特定字体颜色的参考单元格;$B$2:$E$12 是用于统计与 G2 字体颜色相同单元格数值之和的区域。
    统计求和字体颜色结果

使用便捷功能根据字体颜色对单元格进行计数和求和

想在 Excel 中根据字体颜色轻松对单元格值进行计数或求和吗?立即体验 Kutools for Excel按颜色统计功能!借助这一智能工具,按特定字体颜色对单元格进行计数和求和变得轻而易举。了解 Kutools 如何改变您的 Excel 使用体验。

下载并安装 Kutools for Excel后,请先选择您要基于特定字体颜色进行计数或求和的数据区域,然后点击 KUTOOLS PLUS 中的按颜色统计,即可打开按颜色统计对话框。

按颜色统计对话框中,请指定操作:

  1. 标准格式化颜色模式下拉列表中选择;
  2. 字体颜色统计类型下拉列表中指定,并可在对话框中预览每种字体颜色的统计结果;
  3. 最后,单击生成报告,即可将计算结果导出到新工作簿。

使用 Kutools 统计求和字体颜色

结果:

现在,您已获得一个可根据字体颜色显示详细统计信息的新工作簿。请参见以下截图:
Kutools 统计求和字体颜色结果

提示:对该功能感兴趣?请 点击下载,免费试用 30 天

根据使用条件格式颜色对单元格进行计数和求和

在 Excel 中,您通常会使用条件格式为满足特定条件的单元格应用特定颜色,让数据可视化更加直观。但如果您需要对这些带有特殊格式的单元格进行计数或求和,又该如何操作?虽然 Excel 未提供直接的方法,但以下技巧可助您轻松突破这一限制。


使用 VBA 代码对条件格式化的单元格进行计数和求和

在 Excel 中,直接使用内置函数对应用了条件格式的单元格进行计数或求和并非易事。不过,借助 VBA 代码,您完全可以轻松实现这一目标。下面将为您介绍如何通过 VBA 完成此操作:

步骤 1:打开 VBA 模块编辑器并复制代码

  1. 按下 Alt + F11 键,即可打开 Microsoft Visual Basic for Applications 窗口。
  2. 在打开的窗口中,单击插入 > 模块,即可创建一个新的空白模块。
  3. 然后,将下方代码复制并粘贴到空白模块中。
    VBA 代码:根据使用条件格式颜色统计和求和单元格
    Sub SumCountByConditionalFormat()
    'Updateby Extendoffice
        Dim sampleColor As Range
        Dim selectedRange As Range
        Dim cell As Range
        Dim countByColor As Long
        Dim sumByColor As Double
        Dim refColor As Long
        Set selectedRange = Application.InputBox("Select a range to evaluate:", _
                                                 "Kutools for Excel", _
                                                 Type:=8)
        If selectedRange Is Nothing Then Exit Sub
        Set sampleColor = Application.InputBox("Select a conditional formatting color:", _
                                               "Kutools for Excel", _
                                               Type:=8)
        If Not sampleColor Is Nothing Then
            refColor = sampleColor.Cells(1, 1).DisplayFormat.Interior.color
            For Each cell In selectedRange
                If cell.DisplayFormat.Interior.color = refColor Then
                    countByColor = countByColor + 1
                    sumByColor = sumByColor + cell.Value
                End If
            Next cell
            MsgBox "Count: " & countByColor & vbCrLf & _
                   "Sum: " & sumByColor, _
                   vbInformation, "Results based on Conditional Format Color"
        End If
    End Sub
    

步骤 2:执行此 VBA 代码

  1. 粘贴代码后,按 F5 键运行此代码,将弹出一个提示框,请选择数据区域中您要用于条件格式统计和求和的单元格区域,然后单击确定。参见截图:
    统计求和条件格式 VBA 对话框 1
  2. 在另一个提示框中,选择您要统计和求和的特定使用条件格式颜色,然后单击确定按钮,参见截图:
    统计求和条件格式 VBA 对话框 2

结果:

现在,包含指定使用条件格式颜色的单元格的计数与求和结果将显示在弹出框中。请参见截图:
统计求和条件格式 VBA 结果


使用智能功能对条件格式化的单元格进行计数和求和

如果您正在寻找其他快速简便的方法来对条件格式化的单元格进行计数和求和,Kutools for Excel 是您的理想之选。其按颜色统计功能只需几次点击即可轻松完成此任务。立即体验 Kutools 为您的工作流程带来的高效与精准!

下载并安装 Kutools for Excel后,请先选择您要基于特定条件格式颜色进行计数或求和的数据区域。然后,单击 KUTOOLS PLUS 中的按颜色统计,即可打开按颜色统计对话框。

按颜色统计对话框中,请指定操作:

  1. 使用条件格式颜色模式下拉列表中选择;
  2. 背景色统计类型下拉列表中指定,并可在对话框中预览每种条件格式颜色的统计结果;
  3. 最后,单击生成报告,即可将计算结果导出到新工作簿。

使用 Kutools 统计求和条件格式

结果:

现在,您已获得一个全新的工作簿,其中通过条件格式的颜色直观呈现详细的统计信息。请参见截图:
Kutools 统计求和条件格式结果

提示:对该功能感兴趣?请 点击下载,免费试用 30 天

相关文章:

  • 按多种颜色筛选数据
  • 通常,在 Excel 中您可以快速按单一颜色筛选行,但您是否想过如何同时按多种颜色进行筛选?本文将为您介绍一个快速实现此操作的实用技巧。
  • 为下拉列表添加颜色
  • 在 Excel 中,创建下拉列表能为您提供极大便利;有时,您还需要根据所选项对下拉列表中的值进行颜色编码。例如,我创建了一个水果名称的下拉列表:当选中“Apple”时,单元格会自动变为红色;当选中“Orange”时,单元格则会变为橙色。
  • 为合并隔行着色
  • 在大型数据集中,为隔行设置不同颜色有助于提升数据浏览体验;但有时,您的数据中可能包含合并单元格。如下面截图所示,如何在 Excel 中对包含合并单元格的区域实现隔行交替着色?