经常见到有小伙伴习惯使用颜色来标记不同特征的数据,就像下面这个表格:
现在需要对添加颜色的单元格进行求和,该怎么办呢?
走你青年这样做:
1、按Ctrl+F调出查找对话框
2、单击【选项】→【格式】→【从单元格选取格式】
3、查找全部
4、然后按Ctrl+A选中全部带有颜色的单元格
5、名称框中输入:颜色 ,按回车
6、输入公式:=SUM(颜色)
牛B青年这样做:
1、右键单击工作表标签,查看代码
2、【插入】→【模块】
3、粘贴格式代码
4、输入自定义函数
=SumColorIf(C2:H11,B14,C2:H11)
自定义函数代码:
Function SumColorIf(Rng As Range, Criteria As Range, Optional SumRng As Range, Optional iType As Integer = 1)
Dim CriteriaRange As Range, SumRange As Range
Dim cell As Range
'iType=1表示按单元格背景色统计,否则按字体颜色统计,默认值是1
Application.Volatile '声明为易失性函数
'求和条件区域,当取整行或整列时,就返回已使用区域内的单元格区域
Set CriteriaRange = Intersect(Rng, Rng.Parent.UsedRange)
'如果没有输入求和区域,则使用条件区域作为求和区域
If IsMissing(SumRng) Then
Set SumRange = CriteriaRange
Else
'否则就调整求和区域,使之与条件区域大小一致
Set SumRange = SumRng.Range("A1").Resize(CriteriaRange.Rows.Count, CriteriaRange.Columns.Count)
End If
For Each cell In SumRange
i = i + 1
If iType = 1 Then
If CriteriaRange.Cells(i).Interior.ColorIndex = Criteria.Cells(1).Interior.ColorIndex Then
SumColorIf = SumColorIf + cell.Value
End If
Else
If CriteriaRange.Cells(i).Font.ColorIndex = Criteria.Cells(1).Font.ColorIndex Then
SumColorIf = SumColorIf + cell.Value
End If
End If
Next
End Function
佛系青年这样做:
1、先搞清楚添加颜色的规则是什么?
2、根据添加颜色的规则来写公式。
例如,添加颜色的规则是高于120的数据,就可以使用
=SUMIF(C2:H11,">120")
如果添加颜色的规则是高于平均值的数据,就可以使用
=SUMIF(C2:H11,">"&AVERAGE(C2:H11))
老祝说,添加颜色肯定是有规则和标准的,只要找到这个标准,就能化繁为简了。如果是闭着眼睛随便填的,拉出去暴打一顿,OK了。
图文作者:程习彬
编辑整理:老祝