Excel COUNTIF 與 COUNTIFS 函數用法教學:判斷多條件,計算數量

這裡介紹 Excel 的 COUNTIFCOUNTIFS 函數的使用方式,依照各種判斷條件來計算數量,並提供詳細的範例。

Excel 中的 COUNTIFCOUNTIFS 函數可以依照各式各樣的判斷條件來計算個數,是一個很基本且常用的功能,以下介紹這些函數的使用方法,以及範例公式。如果您需要依照判斷條件來計算總合,請參考 SUMIF 函數的教學

COUNTIF 函數

COUNTIF 函數是一個可以依照判斷條件來計算個數的函數,其使用方式為:

=COUNTIF(資料範圍,判斷條件)

以下我們用範例來解釋他的用法,假設我們有一張 Excel 表格,上面有日期、姓名、交通方式與金額的資料。

Excel 活頁簿

普通文字

如果我們想要統計搭乘高鐵的人數,就可以將資料範圍設定為交通方式那一欄,然後將判斷條件設定為 "高鐵",這樣就可以得到搭乘高鐵的人數總和:

=COUNTIF(C2:C10, "高鐵")

結果會像這樣:

統計搭乘高鐵人數

萬用字元

判斷文字的時候,也可以使用萬用字元(*?),例如統計姓「岳」的人數:

=COUNTIF(B2:B10, "岳*")

統計姓「岳」的人數

星號(*)是代表任意長度的任意文字,如果要比對「岳」開頭,後面接著兩個字的狀況,可以改用問號(?)的寫法:

=COUNTIF(B2:B10, "岳??")

日期

亦可依照日期來統計,例如統計 2017/7/10 之後的資料筆數:

=COUNTIF(A2:A10, ">2017/7/10")

依照日期統計資料筆數

我們也可以取用其他儲存格中的資料來建立判斷條件,假設 F4 儲存格內有一個日期資料,而我們想要計算這個日期之後的資料筆數,就可以這樣寫:

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

以儲存格資料建立判斷條件

數值

依照數值的範圍來計算個數,統計金額在 1000 以上的資料筆數:

=COUNTIF(D2:D10, ">=1000")

依照數值範圍計算個數

製作數量統計表

COUNTIF 最常見的使用情境就是製作數量統計表,假設我們想要統計出各種交通方式的人數,我們可以先在 Excel 中畫出一個統計用的表格(右方藍色),並且設定好想要統計的車種。

統計用表格

接著先填寫第一個車種的 COUNTIF 公式,在資料範圍設定使用絕對位置(加上 $),而判斷條件則直接使用儲存格中的資料:

=COUNTIF($C$2:$C$10,F2)
資料範圍設使用絕對位置是為了讓之後在將公式套用至其他儲存格時,不要讓資料範圍跟著往下跳。

填好第一個公式之後,將滑鼠移動到該儲存格的右下方,當滑鼠游標變成十字的形狀時,把他往下拉,套用公式到以下所有的儲存格。

套用公式

COUNTIF 的公式套用到下面所有的儲存格之後,整個數量統計表建完成了。

數量統計表

COUNTIFS 函數

COUNTIFS 函數跟上面介紹的 COUNTIF 很類似,只不過 COUNTIFS 可以接受多個資料範圍與判斷條件,在每一條判斷條件都符合時,才會將資料計入(and 運算)。

COUNTIFS 的使用方式為:

=COUNTIFS(資料範圍1,判斷條件1,資料範圍2,判斷條件2,...)

COUNTIFS 可以放多組資料範圍與判斷條件的配對組合,當每一組資料都符合對應的條件時,才會進行數量的加總計算。

假設我們想要計算在 2017/7/1 之後,搭乘火車的人數,公式可以這樣寫:

=COUNTIFS(C2:C10,"火車",A2:A10,">2017/7/1")

依多條件計算個數

COUNTIFS 的條件數量沒有限制,我們可以放置任意數量的資料範圍與判斷條件,例如再加上一條金額大於 300 的條件:

=COUNTIFS(C2:C10,"火車",A2:A10,">2017/7/1",D2:D10,">300")

除了 COUNTIFCOUNTIFS 之外,Excel 還有 COUNTCOUNTA 兩個比較簡單的函數,它們計算數字、日期或不是空白的儲存格數目。

Windows

9 留言

  1. stl

    謝謝您,感恩。

  2. YLLeung

    謝謝您,解釋很清晰,令我這個初哥好易明白。

  3. Chris Tseng

    淺顯易懂+多種情境
    感謝您

  4. CHA

    非常感謝您的分享,潛顯易懂,非常受用!

  5. ALLY

    超級好懂感謝!

  6. aLex

    謝謝您的Post-out 分享
    1.請問 如 COUNTIF(C2:C10,”*火車*”)
    中的 若改成COUNTIF(Left(C2,5),”*火車*”)
    結果無法運算,
    2.有何好方法?

  7. aLex

    非常感謝您的分享。
    請問如 Countif(C2:C10,”高鐵”),
    若 Countif(Left(C2),”*高鐵*”)卻無法運算,
    請問有何替代方案?

  8. XZ

    受用了
    謝謝指教

  9. Em

    你好 如果要找介於數值之間的呢?比如這列資料我要找金額<

Comments are Closed