經常見到有小夥伴習慣使用顏色來標記不同特徵的數據,就像下面這個表格:
現在需要對添加顏色的單元格進行求和,該怎麼辦呢?
走你青年這樣做:
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了。
閱讀更多 Excel之家 的文章