
在Excel表格中,會(huì)有童鞋喜歡給不同的內(nèi)容標(biāo)上不同的色塊以示區(qū)分。但問(wèn)題就來(lái)了,到底該怎么對(duì)不同的色塊進(jìn)行簡(jiǎn)單統(tǒng)計(jì),比如求個(gè)和、計(jì)個(gè)數(shù)之類(lèi)的呢?
本篇將介紹三種方法來(lái)對(duì)不同底色的單元格進(jìn)行計(jì)數(shù)操作:
1) 使用篩選和SUBTOTAL函數(shù)
2) 使用GET.CELL函數(shù)
3) 使用宏
01?篩選+SUBTOTAL
該法包含了兩部分:
基于不同底色,對(duì)單元格進(jìn)行篩選
使用SUBTOTAL函數(shù)對(duì)可見(jiàn)的單元格計(jì)數(shù)(篩選后)
假設(shè),我們現(xiàn)在有這么一個(gè)原數(shù)據(jù)表格,其中分別有綠色和橙色兩種顏色的高亮單元格。接著就看下,該如何實(shí)現(xiàn)對(duì)不同顏色單元格的計(jì)數(shù)。
>>>使用SUBTOTAL函數(shù)
在數(shù)據(jù)下方的單元格中輸入公式命令:=SUBTOTAL(102,E1:E20)
公式中102代表,計(jì)數(shù)但忽略隱藏值,往下走你就能明白它的厲害之處。
>>>根據(jù)單元格背景顏色,進(jìn)行篩選
一旦你按照單元格顏色篩選后,就能看到下圖的效果:
使用SUBTOTAL函數(shù)的計(jì)數(shù)結(jié)果變成了4,忽略了其他篩掉的單元格。
使用COUNT函數(shù)的計(jì)數(shù)結(jié)果依然維持在19。
02?GET.CELL
首先要說(shuō)明的是,GET.CELL是一個(gè)在早期Excel使用的函數(shù)。主要是為了提取單元格相關(guān)的屬性參數(shù),在目前的Excel版本中必須利用“定義名稱(chēng)”功能進(jìn)行使用。
>>>創(chuàng)建一個(gè)定義名稱(chēng)
點(diǎn)擊 公式->定義名稱(chēng)
在彈出的對(duì)話(huà)框中輸入以下信息:
名稱(chēng):GetColor
范圍:可以使用默認(rèn)的工作薄
引用位置:=GET.CELL(38,'COUNT USING GET.CELL'!$A2)
38在這里意味著提取的是單元格的背景色(具體此參數(shù)的其他設(shè)置法,在此就不展開(kāi)了),而'COUNT USING GET.CELL'!$A2則表示在這張'COUNT USING GET.CELL‘表中以A列為絕對(duì)引用。
>>>在每行末尾單元格嘗試下GetColor的效果
在F列輸入=GetColor這么一個(gè)公式,結(jié)果就是沒(méi)有背景色的返回值為0,橙色的返回值為40,綠色為50。
>>>利用COUNTIF+GetColor計(jì)算不同顏色的單元格
在B22/B23單元格中分別輸入=COUNTIF($F$2:$F$20,GetColor),最終便計(jì)算出綠色數(shù)量為3,橙色數(shù)量為4。
為什么可以這樣呢?
COUNTIF函數(shù)利用GetColor這個(gè)自定義的名稱(chēng)作為判斷條件,在提取了A22/A23單元格的背景色參數(shù)后,對(duì)比F2:F20這個(gè)區(qū)域的參數(shù)。
03?VBA
你得先利用VBA創(chuàng)建一個(gè)自定義函數(shù),然后將以下代碼加到一個(gè)新的模塊中:
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
這個(gè)名為GetColorCount的自定義函數(shù)有兩個(gè)參數(shù),分別:
-CountRange是為了來(lái)定義需要計(jì)數(shù)某顏色單元格的區(qū)域
-CountColor則是為了確定這一顏色
在單元格G3中輸入=GetColorCount($A$2:$A$20,G3),也就是說(shuō)需要在A2:A20這個(gè)區(qū)域找到與G3背景色相同的單元格數(shù)量。