首先要说明的是,GET.CELL是一个在早期Excel使用的函数。主要是为了提取单元格相关的属性参数,在目前的Excel版本中必须利用“定义名称”功能进行使用。
创建一个定义名称点击 公式->定义名称
在弹出的对话框中输入以下信息: 名称: GetColor 范围:可以使用默认的 工作薄 引用位置:=GET.CELL(38,'COUNT USING GET.CELL'!$A2) 38在这里意味着提取的是单元格的背景色(具体此参数的其他设置法,在此就不展开了),而'COUNT USING GET.CELL'!$A2则表示在这张'COUNT USING GET.CELL‘表中以A列为绝对引用。
在每行末尾单元格尝试下GetColor的效果
在F列输入=GetColor这么一个公式,结果就是没有背景色的返回值为0,橙色的返回值为40,绿色为50。
利用COUNTIF+GetColor计算不同颜色的单元格
在B22/B23单元格中分别输入=COUNTIF($F$2:$F$20,GetColor),最终便计算出绿色数量为3,橙色数量为4。
为什么可以这样呢? COUNTIF函数利用GetColor这个自定义的名称作为判断条件,在提取了A22/A23单元格的背景色参数后,对比F2:F20这个区域的参数。03 VBA
你得先利用VBA创建一个自定义函数,然后将以下代码加到一个新的模块中: Function GetColorCount(CountRange As Range, CountColor As Range) Dim CountColorValue As Integer Dim TotalCount As Integer CountColorValue = CountColor.Interior.ColorIndex Set rCell = CountRange For Each rCell In CountRange If rCell.Interior.ColorIndex = CountColorValue Then TotalCount = TotalCount + 1 End If Next rCell GetColorCount = TotalCount End Function
这个名为GetColor