如何分別計數[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技巧 |