按顏色求和彙總,你是哪種青年?

經常見到有小夥伴習慣使用顏色來標記不同特徵的數據,就像下面這個表格:

按顏色求和彙總,你是哪種青年?

現在需要對添加顏色的單元格進行求和,該怎麼辦呢?


走你青年這樣做:

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了。



分享到:


相關文章: