擺脫手工計數,用它提高工作效率10倍

在職場辦公中,我們經常會有這樣的需求:需要根據特定的條件對數據進行計數。比如統計某部門的人數、比如判斷滿足條件的記錄是否在數據表中存在。

這時候,countif函數簡直不要太好用。所以,今天就給大家介紹一下countif函數的用法。想要擺脫統計數據到兩眼發黑,就讓countif來幫你計數吧。

 

一、什麼是計數函數countif?

 

count,在英語裏是統計,計數的意思。if,是如果的意思。

兩者結合起來,就是說,在指定區域中,如果滿足某條件,就對其進行計數。countif函數語法如下:

 

countif(range,criteria)

這個函數只有兩個參數。

 

第一個參數range:是要對其進行計數、統計的區域;

 

第二個參數criteria:是進行計數的條件。可以是數字、表達式、單元格引用或文本字符串。

 

所以,針對第二個參數的延伸,在實際工作中,countif就可以滿足多種計數需求。

二、如何使用?

 

  • 第二個參數是數字

 

=countif(A:A,10)

 

統計在A列中有多少個10。

 

  • 第二個參數是表達式

 

=countif(A:A,">10")

 

統計在A列中大於10的有多少個。

 

  • 第二個參數是單元格引用

 

=countifA:A,C1)

 

統計在A列中,與C1內容相同的有多少個。

 

=countif(A:A,">"&C1)

 

統計在A列中大於C1單元格的有多少個。

 

注意上面的條件寫法:如果是和指定的單元格數值進行比較,需要用英文引號把運算符括起來,同時還要用文本連接符連接指定的單元格。

 

  • 第二個參數是文本字符串

 

= countif(A:A, "王??")

 

統計在A列中,姓“王”的,且名字是3個字的人員數量。所以王老五,王小二等,只要是姓“王”的,而且名字是3個字的,都會被納入統計,而像“王明”這種就不會被算進來的。

 

(注意:使用通配符對文本數據進行統計時,*代表任意多個字符;?代表任意單個字符。)

 

三、實戰案例

 

通過上面的介紹,大家都清楚了countif函數的常規用法,那下面通過案例演示來實操一下吧。

 

  • 統計各所屬部門的招聘數量

 

如下圖所示,是一份招聘信息表。有公司全名、所屬部門、教育要求、薪水等列。下面的公式將分別針對所屬部門來實現人數的統計。

 

 

在I2單元格的統計公式如下:

 

=countif($B$2:$B$30,H2)

 

對這個公式怎麼理解呢?

第一個參數爲單元格B2:B30,也就是對“所屬部門”這一列進行統計。

 

那我們統計什麼呢?

第二個參數就是統計的條件。第二個參數是單元格H2,也就是要統計指定區域裏,以H2單元格內容爲條件的計數。因爲H2單元格里的內容是“運營部”,也就是對“運營部”計數。

因爲公式還要往下填充,還要繼續統計指定區域裏其它條件的計數,如“技術部”、“產品部”、“設計部”等的計數。這樣就把各部門的招聘數量統計出來了。

 

對countif函數有了上面的熱身後,如果要你統計薪水高於15000的有多少個,你是不是也能秒殺了?

 

因爲countif函數的第二個參數,可以使用表達式,所以你只需要在這個參數中使用比較運算符輸入字符串表達式即可,如輸入條件“>15000”。注意,一定要用英文的雙引號括起來。

 

比如,要統計薪水列裏,薪水大於15000的,統計公式如下:

 

=countif($E$2:$E$30,">15000")

 

也就是說,對“薪水”列,即案例中的“E2:E30”區域裏的薪水進行判斷,判斷的條件是“>15000”。公式將統計出招聘表裏薪水大於15000的數量,結果爲12。

 

四、多條件計數函數countifs

 

還是同一份招聘信息表,下面的函數公式統計的是不同所屬部門裏薪水大於15000的招聘人數。如圖:

 

 

在I3單元格輸入統計公式如下:

 

=countifs($B$2:$B$30,H3,$E$2:$E$30,">15000")

▲向左滑動可完整查看

這公式怎麼理解呢?

公式中用的是countifs函數。countifs函數與countif函數唯一的區別在於,counif是單條件計數,而countifs是多條件計數。

 

 

我們可以用countif來單條件計數,如針對“薪水”列,統計大於15000的有多少個,公式爲:

=countifs($E$2:$E$30,">15000")

 

我們可以用countifs函數來多條件計數,如針對“所屬部門”列和“薪水”列,來統計指定部門中薪水大於15000的有多少個,公式爲:

 

=countifs($B$2:$B$30,H3,$E$2:$E$30,">15000")

▲向左滑動可完整查看

這兩個條件是“並且”的關係,也就是說,統計出的是“運營部薪水大於15000的”的數量。

 

好了,廢話不多說。同樣是上面的招聘信息表,如果要你統計薪水大於15000且小於20000的數量,函數公式應該如何寫呢?自己動腦想一想,再看答案哦。

答案如下:

 

=countifs($E$2:$E$30,">15000",$E$2:$E$30,"<20000")

▲向左滑動可完整查看

當然,因爲前後兩個計數區域是一樣的,所以在這裏也可以用countif函數來寫:

 

=countif($E$2:$E$30,">15000")-countif($E$2:$E$30,">20000") 

▲向左滑動可完整查看

在薪水大於15000的記錄數中一定包含了薪水大於20000的,所以兩者相減,就能得出大於15000且小於20000的計數。

 

五、有哪些注意事項?

 

countif函數雖好用,但是,在使用時要特別注意,當countif遇到身份證號碼時,卻會出現這樣的bug。

 

如下圖是一份員工身份登記表,我們需要檢查身份證號碼是否重複錄入。

 

 

如果直接對身份證號碼列進行統計計數,如C2統計公式如下:

 

=COUNTIF($B$2:$B$11,B2)

 

統計結果大於1的,即出現的次數大於1,就判斷爲重複。如上圖,結果顯示很多身份證出現了重複。但是手工檢查發現並非如此。

 

我們把那些被判斷爲重複的高亮顯示,來看清楚一下:

 

 

爲什麼系統會把“猴子”和“孫大聖”的身份證判斷爲重複呢?這兩個身份證號碼明明是不一樣的!

 

原因在於,雖然案例演示中的身份證號碼列爲文本型數值,但是,在countif函數中,文本型數值和數值型數據都會被識別爲數值進行統計。

 

而在Excel裏,最多隻能保留15位有效數字,超過15位的數值,全部歸置爲0。所以對於有18位數值的身份證號碼來說,後3位,就全都被默認爲0。因此纔會導致countif函數誤將猴子和孫大聖的身份證號碼識別爲相同的號碼。

 

那麼這類問題要怎麼解決呢?必須在countif函數的第2個參數中,使用通配符,使其強行轉爲文本再進行統計,如修正後D2的公式爲:

 

=countif($B$2:$B$11,B2&"*")

 

相當於告訴countif函數:我要統計的內容是以B2單元格開頭的文本哦,這時候countif就會乖乖地去執行任務啦。

 

如下圖,具體的檢查結果顯示,僅有高小明和王老五的身份證號碼重複以外,其他身份證碼號都是準確無誤的。

 

 

六、總結

以上就是countif函數的用法介紹啦,紙上得來終覺淺,所以,小夥伴們看完後一定要上手實操哦。

對於學習excel裏的函數,我有個小tips:對於長得差不多的函數,其實可以放在一起學,比如在這裏我們介紹的是countif函數。那麼,sumif函數,averageif函數,是不是也可以觸類旁通呢。

推薦:人工智能時代的必學技能


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章