如何分別計數[Excel]不同顏色的單元格?
可以使用3種方法
1) 使用 篩選 和 SUBTOTAL 函數2) 使用 GET.CELL函數
3) 使用宏
火箭君親自示範,教你快速掌握excel技巧
01 篩選+SUBTOTAL
該法包含了兩部分:
- 基於不同底色,對單元格進行篩選
- 使用SUBTOTAL函數對可見的單元格計數(篩選後)
假設,我們現在有這麼一個原數據表格,其中分別有綠色和橙色兩種顏色的高亮單元格。接著就看下,該如何實現對不同顏色單元格的計數。
使用SUBTOTAL函數
- 在數據下方的單元格中輸入公式命令:=SUBTOTAL(102,E1:E20)
- 公式中102代表,計數但忽略隱藏值,往下走你就能明白它的厲害之處。
根據單元格背景顏色,進行篩選
一旦你按照單元格顏色篩選後,就能看到下圖的效果:
- 使用SUBTOTAL函數的計數結果變成了4,忽略了其他篩掉的單元格。
- 使用COUNT函數的計數結果依然維持在19。
02 GET.CELL
首先要說明的是,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
這個名為GetColorCount的自定義函數有兩個參數,分別:
- CountRange是為了來定義需要計數某顏色單元格的區域
- CountColor則是為了確定這一顏色
在單元格G3中輸入=GetColorCount($A$2:$A$20,G3),也就是說需要在A2:A20這個區域找到與G3背景色相同的單元格數量。
三招你都掌握了嗎?
更多技巧經驗請關注微信公眾號:效率火箭(ID:xlrocket)
Hi,使用「查找」就行了:
1.Ctrl + F 打開「查找和替換」&>單擊「選項」:
2.單擊「格式」&>「從單元格選擇格式」後,就會出現取色器,直接去某個有色單元格取色後單擊「查找全部」,左下角就有個數統計:? 官方微信公眾號丨微軟中國 Office 365
Enjoy推薦閱讀:
※怎麼知道格式刷刷了什麼格式?
※如何用excel記單詞?
※怎樣做excel數據透視表?
※這個公式是什麼意思=0/(A3<>A2)?
※EXCEL 合併單元格後公式如何正確遞增?
TAG:MicrosoftOffice | 經驗分享 | Excel技巧 |