如果我有 500 个单元格填充红色,500 个单元格填充绿色,50 个单元格填充黄色,是否可以执行 countif 排序公式,其中我将有一个单元格来计算红色单元格、绿色单元格和黄色单元格的数量。
谢谢
答案1
我相信您需要自定义函数来实现此目的。将此代码放入工作簿中的模块中(打开 VB 编辑器,插入模块,将以下代码粘贴到该模块中,关闭 VB 编辑器。)
Function COUNTCELLCOLORSIF(CellRange As Range, ColorIndex As Integer) As Long
Dim rngCell
Application.Volatile 'Thanks, Excellll!
For Each rngCell In CellRange
If rngCell.Interior.ColorIndex = ColorIndex Then
COUNTCELLCOLORSIF = COUNTCELLCOLORSIF + 1
End If
Next rngCell
End Function
Function CELLCOLORINDEX(CellRange As Range) As Integer
Application.Volatile 'Thanks, Excellll!
CELLCOLORINDEX = CellRange.Interior.ColorIndex
End Function
CELLCOLORINDEX 允许您确定给定单元格颜色的整数值。例如,要检查 A1 内部颜色的整数值,您的公式将是
=CELLCOLORINDEX(A1)
然后,您可以使用 COUNTCELLCOLORSIF 来计算给定区域中有多少个单元格具有该颜色。例如,如果 A1 包含要检查的颜色的整数值,并且要检查的单元格位于 B1:B150,则公式将是:
=COUNTCELLCOLORSIF($B$1:$B$150, $A$1)