通用公式
= COUNTIF(範圍,「 * txt *」 )
說明
要對包含某些文本的單元格進行計數,可以將COUNTIF函數 與通配符一起使用 。在所示的示例中,E5中的公式為:
= COUNTIF( B5:B15 ,「 * a *」 )
COUNTIF函數對符合條件的範圍內的單元格進行計數。例如,要計算包含「 a」的區域中的單元格數量,可以使用:
= COUNTIF( range ,「 a」 ) //完全匹配
但是,請注意這是完全匹配。為了進行計數,單元格必須精確地包含「 a」。如果該單元格包含任何其他字符,將不計算在內。
對於顯示的問題,我們要計算包含特定文本的單元格,這意味著文本可以在單元格中的任何位置。為此,我們需要使用星號(*)字符作為通配符。例如,在任何使用我們的地方計算包含字母「 a」的單元格:
= COUNTIF(範圍,「 * a *」 )
公式中的星號表示「匹配任何數量的字符,包括零」,因此此模式將計算在任何位置包含「 a」的任何單元格,在左側或右側帶有或不帶有其他字符。示例中使用的公式均遵循相同的模式:
= COUNTIF( B5:B15 ,「 * a *」 ) //包含「 a」 = COUNTIF( B5:B15 ,「 * 2 *」 ) //包含「 2」 = COUNTIF( B5:B15 ,「 * -S * 「 ) //包含」 -s「 = COUNTIF( B5:B15 ,」 * x *「 ) //包含」 x「
注意:COUNTIF不區分大小寫。
您可以輕鬆調整此公式,以將其他單元格的內容用作條件。例如,如果A1包含要匹配的文本,則可以使用:
= COUNTIF(範圍,「 *」 和 A1 和「 *」 )
如果您要查找特定數字並且單元格包含數字數據,則上面的COUNTIF公式將不起作用。這是因為通配符自動使COUNTIF僅查找文本(即查找「 2」而不是2)。因為永遠不會找到一個文本值,所以COUNTIF將返回零。
要計算數字內容中的特定數字,您可以使用基於SEARCH函數和ISNUMBER函數的不同公式, 如下所示:
= SUMPRODUCT(- (ISNUMBER(SEARCH(文本,範圍))))
在此公式中, 文本是您要查找的文本,範圍是您要計算的單元格範圍。當SEARCH找到一個匹配項時,它將返回一個數字,並且ISNUMBER函數會將數字轉換為TRUE或FALSE值。因為我們要檢查多個單元格,所以結果將是一個數組或TRUE和FALSE值。的雙負用於真假值轉換為1和0,並且 SUMPRODUCT函數將返回陣列的總和作為最終結果。
SEARCH自動將所有數字視為文本,因此它會在數字201中找到1。此外,由於SEARCH會自動瀏覽單元格中的所有文本,因此無需使用通配符來指示位置。
對於區分大小寫的計數,可以使用基於FIND函數的公式 :
= SUMPRODUCT(- (ISNUMBER(FIND(文字,範圍))))
在這裡,使用FIND函數代替SEARCH,因為FIND區分大小寫。在其他方面,該公式的工作方式類似於上述的ISNUMBER + FIND公式。