如何在 Excel 中计数带颜色的单元格?2025年3月17日 | 阅读 8 分钟 你可能会很高兴地知道,Excel 中有多种方法可以帮助用户计数带颜色的单元格。是的,Excel 提供了内置函数,你可以使用它们来计数带颜色的单元格。 Excel 工作表可能包含用于分析目的的格式。它由一些带颜色的行和一些普通行组成。Excel 提供了多种方法来计数 Excel 电子表格中包含的带颜色的单元格。你可以很容易地学习所有这些方法,并使用你认为更合适的方法。 本章将详细指导每个步骤,以计算 Excel 工作表中的带颜色的单元格或行。 计数带颜色的单元格的方法在本章中,我们将讨论三种不同的方法来计数 Excel 中的带颜色的单元格。 在其他网站上,你可能还会找到更多方法。这里,我们选择了最简单的方法。 方法 1:使用 GET.CELL 函数GET.CELL 是 Excel 的一种特殊类型的函数,可以用于计数带颜色的单元格。它本质上是一个 Macro4 函数。它的工作方式不像 Excel 中的其他常规函数。 GET.CELL 函数作用于命名范围,这些命名范围用于创建颜色范围以获取颜色代码。之后,该颜色代码有助于查找带颜色的单元格的数量。 使用 GET.CELL 函数计数带颜色的单元格的步骤按照说明在 Excel 工作表中计数带颜色的单元格。它通常需要三个最重要的步骤才能获得结果。
让我们通过一个示例来了解这些步骤将如何执行。 示例 1步骤 1: 我们有一个工作表,其中包含一些普通单元格和一些带颜色的单元格。 ![]() 现在,我们将详细应用这三个步骤。 创建颜色范围步骤 2: 转到 公式 选项卡,然后单击功能区中的 定义名称 选项。 ![]() 步骤 3: 将打开一个对话框,在其中输入以下详细信息并单击 确定: 名称: GetColor 作用域: 选择作用域为 工作簿。 引用位置: =GET.CELL(38, Sheet1!$A2) ![]() 在 引用位置 字段中,我们使用了 GET.CELL() 公式,其中第一个参数值为 38,它是一个参数代码。这里,38 表示信息类型。这意味着你希望从 GET.CELL 方法中获取哪种类型的信息。这里,38 指的是我想要获取的背景颜色信息。 第二个参数值是 Sheet1!$A2, 你希望从中提取信息。你可以定义包含带颜色的单元格的列的引用。 获取每个单元格的颜色代码现在,我们将单独获取每行的颜色代码,并将它们存储在一个新列中。 步骤 4: 在每行的相邻单元格中使用以下公式 =GetColor,然后按 Enter 键。 ![]() 如果单元格包含背景颜色,它将返回一个特定的数字。否则,它将返回 0。 步骤 5: 请看下面的屏幕截图,包含黄色单元格的单元格返回了 数字代码 - 36。 ![]() 让我们看看黄色、绿色和无颜色的前三个单元格的这个公式。将相同的 =GetColor 公式应用于所有相应的行。 步骤 6: 对于下一行,GetColor 返回 0,因为它不包含任何背景颜色。 ![]() 步骤 7: 对于带有绿色背景颜色的行,GetColor 返回 50 作为其颜色代码编号。 ![]() 同样,逐个查找所有行的颜色代码,然后转到最后一步。 步骤 8: 查找所有包含某些数据的行的颜色代码后,请查看工作表。 ![]() 使用颜色代码计数带颜色的单元格最后一步是计数具有任何背景颜色的单元格的总数。所以,继续前进。 步骤 9: 在数据集下方创建两个更多单元格,并用工作表已包含的相同颜色为它们着色。如下图所示。 ![]() 步骤 10: 现在,在新创建单元格的相邻行中,使用以下 COUNTIF() 公式。 =COUNTIF(G2:G11,GetColor) ![]() 步骤 11: 按 Enter 键并查看它返回的结果。请注意 - 它为黄色单元格返回了 5。 ![]() 此 Excel 工作表中有五行着色为黄色。 步骤 12: 现在,将相同的公式应用于绿色单元格的相邻行。 =COUNTIF(G2:G11,GetColor) ![]() 步骤 13: 请看下面输出中绿色行返回的结果,即 2。这意味着有两行着色为绿色。 ![]() 此 Excel 工作表中有两行着色为绿色 结论: 5 行黄色和 2 行绿色。因此,此工作表总共包含 7 行带颜色的行。 现在,让我们看看下一个方法! 方法 2:使用筛选和分类汇总功能在 Excel 工作表中计数带颜色的单元格的第二种方法是 - 筛选和分类汇总,它们是 Excel 的内置功能。我们将向你展示使用它们的步骤。此方法仅需三个步骤即可使用筛选和分类汇总功能在 Excel 工作表中计数带颜色的单元格。 计数带颜色的单元格的步骤
示例 2 我们将把这些步骤应用于包含一些带颜色的单元格和一些普通单元格的以下数据集。 ![]() 在此工作表中,使用了两种颜色:黄色和绿色。 步骤 1: 选择数据集下方的任何单元格,并在其中写入以下公式。 =SUBTOTAL(102,F2:F11) 这里,102 指的是 COUNT() 函数,F2:F11 是单元格范围。 ![]() 步骤 2: 请看 SUBTOTAL() 函数为此数据集计算的结果。 ![]() 步骤 3: 现在,选择工作表的标题(用户定义的标题,即 A 列),然后导航到 数据 选项卡。 ![]() 步骤 4: 在“排序和筛选”部分中,单击 Excel 功能区中的 筛选 选项,这将对所有标题应用筛选。 ![]() 如下图所示,一个下拉按钮将添加到标题的每个单元格中 ![]() 步骤 5: 单击这些筛选下拉按钮中的任何一个,例如,“工资”下拉按钮。将打开一个列表,其中单击列表中的 按颜色排序。 ![]() 由于在数据集中使用了两种颜色来突出显示单元格。因此,这里显示这两种颜色以对数据进行排序。 步骤 6: 选择一种颜色以选择数据,并查看 SUBTOTAL() 结果(之前计算)的更新值以及排序后的数据。 首先,我们将选择 绿色 并查看绿色单元格的总数,即 2。 ![]() 然后,我们将选择 黄色 并查看绿色单元格的总数,即 5。 ![]() 获取两个结果的总和 (5+2=7)。这意味着此 Excel 工作表中总共有七个单元格着色。因此,通过这种方式,你可以在 Excel 工作表中计数带颜色的行的数量。 方法 3:使用 VBA 代码以上两种方法是使用 Excel 的内置方法对 Excel 数据执行的。现在,我们将通过在 VBA 上编写代码来计数带颜色的单元格。对于那些习惯编写代码并乐于使用 VBA 的人来说,这种方法是最简单的。 在上面两种方法中,我们使用了内置函数。使用 VBA,我们现在可以直接创建一个自定义函数来计数带颜色的单元格。它的工作方式类似于 COUNTIF 方法。请看如何完成 VBA 代码这里,代码的第一行是 countColoredCells, 它是函数名。此代码是一个用户定义函数 (UDF),而不是要运行的 SUB 过程。你也可以从这里复制代码并将其写入你自己的代码中,然后运行它来计数带颜色的单元格。 此函数的参数此用户定义函数将接受两个参数。 颜色 - 我们需要计数的颜色。这意味着提供包含该颜色的单元格的引用,例如 F2。 范围 - 我们希望在其中计数指定颜色单元格的单元格范围,例如 D2:D15。 语法此创建函数的语法如下: 它返回什么?此自定义函数将返回背景中具有任何特定颜色的单元格总数。 Excel 中 VBA 编辑器的步骤以下是一些转到 Excel VBA 编辑器并在其中编写代码的步骤。 步骤 1: 在你活动的 Excel 工作簿中,按 Alt+F11 快捷键打开 VBA 代码编辑器,如下所示。 ![]() 步骤 2: 在这里,导航到菜单栏中的 插入 -> 模块,这将插入一个新模块来编写代码。 ![]() 一个名为 Module1(默认)的模块将添加到 VBA 代码编辑器中当前活动的工作簿。 ![]() 步骤 3: 复制上述用户定义的代码并将其粘贴到此新模块窗口中。 ![]() 现在,countColoredCells() 函数已添加到此工作表中。 注意:你无需立即保存 VBA 代码。目前,你只需最小化 VBA 代码编辑器面板并按照以下步骤操作。步骤 4: 由于你的工作表包含两种颜色。因此,在新列中创建两个单元格,并用这些颜色为它们着色,如下图所示。 ![]() 步骤 5: 现在,首先在 H2 单元格中使用创建的函数 countColoredCells 来计数黄色单元格的总数。 =countColoredCells(G2,F$2:F$11) ![]() 步骤 6: 按 Enter 键以获取计算结果。它将返回所选颜色的单元格数量。 ![]() 请看它返回的值 5,这意味着在所选范围内有五行着色为黄色。 步骤 7: 现在,我们将使用以下 countColoredCells 公式计数 绿色 单元格的数量。这次选择 G3 单元格作为绿色,并将此公式写入 H3 单元格。 =countColoredCells(G3,F$2:F$11) ![]() 步骤 8: 按 Enter 键以获取计算结果,并查看它返回的结果,即 2。这意味着在所选范围内有 2 个单元格着色为绿色。 ![]() 步骤 9: 将两个结果相加即可获得总数。在 H4 单元格中写入以下加法公式 =H2+H3 并按 Enter 键。 ![]() 步骤 10: 此工作表中带颜色的单元格总数为 7。 ![]() 现在,关闭 VB 编辑器。VBA 代码是宏的一个功能。因此,此功能无法保存到普通的 Excel 文件(无宏工作簿)中。当你正常保存时,将弹出一个窗口。 ![]() 要保存此文件,请单击 否,然后在文件类型列表中选择 启用宏 作为文件类型,然后再次保存。 |
我们请求您订阅我们的新闻通讯以获取最新更新。