如何在Excel中创建和使用ColorFunction

  • Share This
Hugh West

在Excel中,没有根据单元格的颜色进行计算的功能。 但通过使用 Microsoft Visual Basic for Applications (VBA) 在这篇文章中,我将告诉你如何在Excel中创建和使用ColorFunction。

比方说,我们有一个公司产品订单的数据集,其中的列 订购数量 已交付的订单用浅绿色表示,正在交付的订单用浅橙色表示。 现在我们可以通过计算相同颜色的单元格找到收到或未收到订单的客户数量。 通过将相同颜色的单元格相加,可以找到已交付或正在交付的订单的总数量。

下载实践工作手册

Excel.xlsm中的颜色功能

Excel中的ColorFunction

步骤1 : 在VBA窗口中打开宏程序模块

首先,你必须打开 VBA 窗口,按 ALT+F11。 之后,在左边面板的工作表名称上点击右键,进入 插入> 模块

因此,一个 模块 盒子将被打开。

第2步 : 插入创建ColorFunction的VBA代码

插入以下代码,在 模块 框,并关闭 VBA 窗口。

 Function ColorFunction(rColor As Range, rRange As Range, Optional SUM As Boolean) Dim rCell As Range Dim lCol As Long Dim vResult lCol = rColor.Interior.ColorIndex If SUM = True Then For Each rCell In rRange If rCell.Interior.ColorIndex = lCol Then vResult = WorksheetFunction.SUM(rCell, vResult) End If Next rCell Else For Each rCell In rRange if rCell.Interior.ColorIndex = lCol Then vResult = 1 +vResult End If Next rCell End If ColorFunction = vResult End Function 

这里,VBA代码创建了一个自定义函数,名为 颜色功能 如果我们给出的参数是 失败 并将彩色单元格相加,如果我们给出的参数是 是的。

第3步 :将工作簿保存为Excel Macro Enabled工作簿

你必须将Excel工作簿保存在 .xlsm 格式来保存你的自定义函数。 首先,去到 文件 从你的Excel窗口的左上角。

之后,选择 另存为。

然后选择 启用Macro的Excel工作簿(*xlsm)。 并点击 保存。

第四步 : 使用ColorFunction来计算有颜色的单元格

现在你可以使用你的自定义 颜色功能。

要获得浅绿色单元格的数量,请在一个空单元格中输入以下公式。

=ColorFunction(F5,$D$5:$D$11,FALSE)

在这里。 F5 = 将被计算的颜色的标准单元格

$D$5:$D$11 = 计数的范围

失败 表示与标准单元格具有相同颜色的单元格的数量将被计算在内。

新闻 进入 你将得到浅绿色细胞的计数。

以类似的方式,你可以得到浅橙色细胞的计数。

第5步 : 使用ColorFunction对有颜色的单元格求和

要获得浅绿色单元格的总和,请在一个空单元格中输入以下公式。

=ColorFunction(F5,$D$5:$D$11,TRUE)

在这里。 F5 = 颜色将被加总的标准单元格

$D$5:$D$11 = 和的范围

为真 表示与标准单元格有相同颜色的单元格的数量将被加起来。

你将得到浅绿色单元格的总和,按 进入。

以类似的方式,你可以得到浅橙色细胞的总和。

计算和计算彩色单元格的其他方法

而不是使用 颜色功能。 你可以通过两种不同的方式获得彩色单元格的数量或彩色单元格的总和。

1.使用FILTER和SUBTOTAL函数

你可以通过以下方法获得彩色单元格的数量和总和 过滤器 函数SUBTOTAL .

首先,去到 数据 选项卡,并点击 过滤器。

之后,在你的每一列标题旁边都会出现向下的箭头。 点击旁边的向下的箭头 订购数量 (彩色栏),转到 按颜色过滤 ,并选择浅绿色的颜色。

现在你将在这一栏中只看到浅绿色的数据。 要获得计数,请输入以下公式。

=小计(2,d5:d11)

这里 2 表示该单元格将被计算在内,并且 D5:D11 是数据的范围。

在按下 进入 你将得到浅绿色细胞的数量。

要获得彩色单元格的总和,请输入以下公式。

=小计(9,d5:d11)

这里 9 表示该单元格将被加起来,并且 D5:D11 是数据的范围

在按下 进入 你将得到浅绿色的单元格的总和。

通过改变过滤器为浅橙色,你可以得到橙色细胞的数量和总和。

2.使用GET.CELL函数

通过使用 获取.CELL 函数,你也可以对彩色单元格进行计数和汇总。

首先,去到 公式 选项卡,并选择 定义名称。

A 新名称 框会出现。 输入一个名称,如 颜色 命名 框中,并将公式插入 指的是 框,并按 好的。

=get.cell(38,'get cell'!$d5)

这里38表示该公式将给出所提及单元格的颜色代码,而 'GET CELL'!$D5 是所指的单元格(彩色列的列头后的第一个单元格)。

现在键入 =颜色 (您之前在《中国青年报》上提供的姓名 定义名称 框)在你的彩色列的相邻列中。

在按下 进入 并拖动单元格 E5 到你的数据集的末尾,你将得到所有你的列的彩色单元格的颜色代码 E .

现在输入以下公式,以获得浅绿色单元格的数量

=countif($e$5:$e$11,50)

在这里。 $E$5:$E$11 是计数的范围,50是浅绿色的颜色代码。

在按下 进入 你将得到绿色细胞的数量。

输入以下公式,得到浅绿色单元格的总和。

=SUMIF(E5:E11,50,D5:D11)

在这里。 E5:E11 是标准范围,50表示浅绿色的颜色代码和 D5:D11 是总和范围。

新闻 进入 你将得到所有绿色单元格的总和。

以类似的方式,你可以得到浅橙色的细胞的数量和总和。

总结

我希望通过这篇文章后,你可以在Excel中创建和使用ColorFunction。 如果你遇到任何问题,请留下评论。

Hugh West is a highly experienced Excel trainer and analyst with over 10 years of experience in the industry. He holds a Bachelor's degree in Accounting and Finance and a Master's degree in Business Administration. Hugh has a passion for teaching and has developed a unique teaching approach that is easy to follow and understand. His expert knowledge of Excel has helped thousands of students and professionals worldwide improve their skills and excel in their careers. Through his blog, Hugh shares his knowledge with the world, offering free Excel tutorials and online training to help individuals and businesses reach their full potential.