tft每日頭條

 > 圖文

 > 多條件countif函數

多條件countif函數

圖文 更新时间:2025-01-10 22:06:55

COUNTIF函數用于統計滿足某個條件的單元格的數量,其基本用法為:

COUNTIF(統計區域,指定的條件)

如下圖所示,要統計A列有幾個5,可以使用以下公式:

=COUNTIF(A2:A10,5)

多條件countif函數(COUNTIF函數用法大全)1

咱們把COUNTIF函數的第二參數稍加改動,就可以衍生出很多高效用法,例如:

統計大于5的單元格個數:

=COUNTIF(A2:A10,">5")

多條件countif函數(COUNTIF函數用法大全)2

統計大于B2單元格數值的單元格個數:

=COUNTIF(A2:A10,">"&B2)

多條件countif函數(COUNTIF函數用法大全)3

統計不等于5的單元格個數:

=COUNTIF(A2:A10,"<>5")

多條件countif函數(COUNTIF函數用法大全)4

統計空白單元格的個數:

=COUNTIF(A2:A10,"=")

多條件countif函數(COUNTIF函數用法大全)5

統計非空單元格的個數:

=COUNTIF(A2:A10,"<>")

多條件countif函數(COUNTIF函數用法大全)6

統計以"e"或“E”開頭的單元格個數:

=COUNTIF(A2:A10,"e*")

多條件countif函數(COUNTIF函數用法大全)7

對于身份證号碼以及銀行卡号等超長的文本型數字,使用COUNTIF函數時還需要加上一點“佐料”。

以下公式統計A列的身份證号碼是否有重複:

=IF(COUNTIF(A:A,A2&"*")>1,"重複","")

多條件countif函數(COUNTIF函數用法大全)8

COUNTIF函數在計算文本型數字時,會默認按數值型進行處理,但是Excel中的數字精度隻有15位,并且身份證号碼是18位,因此會把前15位相同的身份證全部識别為相同的内容。

在第二參數後加上一個星号 &"*",就是告訴Excel,要查找包含A2單元格内容的文本,通過這樣變通的手段,COUTNIF函數就聽話啦。

前面咱們說的是COUNTIF的第二參數,下面再說說第一參數:

如下圖所示,要在A列按部門輸入序号,不同部門的序号從1開始。

多條件countif函數(COUNTIF函數用法大全)9

在A2單元格輸入公式,向下複制:

=COUNTIF(B$2:B2,B2)

COUNTIF函數的統計區域是B$2:B2,第一個B2是行絕對引用,第二個B2,是相對引用。當公式向下複制時,就會變成B$2:B3、B$2:B4……一個不斷擴展的區域,從這個動态區域中統計B列部門的個數。

下面咱們再分享COUNTIF函數的兩個組合應用:

如下圖所示,要計算C列不重複的人數。

公式為:

=SUMPRODUCT(1/COUNTIF(A2:A14,A2:A14))

多條件countif函數(COUNTIF函數用法大全)10

這是一個十分常用的統計不重複數據個數的公式,其中包含了一個數學邏輯:

任意一個數據重複出現N次,N個1/N的和值為1。

公式中“COUNTIF(A2:A14,A2:A14)”部分是數組計算,作用是分别統計A2:A14單元格區域中每個元素出現的次數。

運算過程相當于:

=COUNTIF(A2:A14,A2)

=COUNTIF(A2:A14,A3)

……

=COUNTIF(A2:A14,A14)

返回内存數組結果為:

{2;2;2;2;2;2;2;2;2;2;1;1;1}

再使用1除以返回的内存數組,得到以下結果:

{0.5;0.5;0.5……;1;1;1}

用1除,即相當于計算COUNTIF函數所返回内存數組的倒數。

為便于理解,把這一步的結果中的小數部分使用分數代替,結果為:

{1/2;1/2;1/2;1/2;……;1;1;1}

如果單元格的值在區域中是唯一值,這一步的結果是1。

如果重複出現兩次,這一步的結果就有兩個1/2。

如果單元格的值在區域中重複出現3次,結果就有3個1/3…

即每個元素對應的倒數合計起來結果仍是1。

最後用SUMPRODUCT函數求和,得出不重複的人員總數。

還沒看暈?好,咱們繼續。

如下圖所示,要提取C列不重複的名單。

公式為:

=INDEX(C:C,1 MATCH(0,COUNTIF(E$1:E1,C$2:C$15),0))&""

注意是數組公式,編輯完成後,要按Ctrl Shift 回車。

多條件countif函數(COUNTIF函數用法大全)11

首先利用COUNTIF函數,在公式所在位置上方的單元格區域中,分别查找C$2:C$15單元格區域每個數據的個數。返回一個由0和1構成的數組,如果C$2:C$15單元格區域的元素在公式上方出現過,結果就是1;如果沒出現,結果就是0。

和上一個例子裡一樣,COUNTIF函數的第一參數是一個擴展的區域,公式的提取結果會被重複利用。

再利用MATCH函數,在COUNTIF函數返回的數組中查找第一個0的位置,也就是查找首次出現的數據所在的位置。

由于數據表的标題行占了1行,将這個數字加1,就是需要提取的不重複數據在數據表中列的位置。

最後用INDEX函數,以MATCH函數的計算結果作為索引值提取C列對應位置上的數據。

這個函數從最後開始往上看,比較容易理解一些哦。

好了,今天咱們的内容就是這些吧,祝各位小夥伴一天好心情!

圖文制作:祝洪忠

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved