以下演示了計算區域內字符或文本串出現次數的不同方法。假設區域A1:A10(名為Data)內有各種文本串,單元格B1名為Text,如圖
★整個單元格內容
計算包含單元格Text內容(且不包括其他)的單元格數量,可以使用下面公式演示的COUNTIF函數:
=COUNTIF(Data,Text)
例如,因為Data區域內有兩個單元格包含文本Text,如果單元格Text包含字符串“Alpha”,公式返回2。這個公式是不區分大小寫的,因此它對Alpha(單元格A2) 和alpha(單元格A10) 都進行計數。不過需要注意的是,它不對包含Alpha Beta(單元格A8)的單元格進行計數。
下面的數組公式與上面的公式相似,不過它區分大小寫:
{=SUM(IF(EXACT(Data,Text),1))}
★部分單元格內容
計算字符串包含單元格Text內容的單元格數量,使用這個公式:
=COUNTIF(Data,"*"&Text&"*")
例如,因為區域Data有3個單元格包含文本alpha(單元格A2,A8和A10),如果單元格Text包含文本Alpha,公式返回3,注意,這種比較不區分大小寫。
如果需要區分大小寫計數,可以使用下面的數組公式:
{=SUM(IF(LEN(Data)-LEN(SUBSTITUTE(Data,Text," "))>0,1))}
如果單元格Text包含文本Alpha,上面的公式就返回2,原因在于這個字符串出現在兩個單元格中(A2和A8) 。
★區域內出現的總次數
計算字符串在指定區域內出現的總次數,使用下面的數組公式:
{=(SUM(LEN(Data))-SUM(LEN(SUBSTITUTE(Data,Text," "))))/LEN(Text)}
如果單元格Text包含字符B,公式就返回7, 原因在于區域內有7個包含B的單元格。這個公式是區分大小寫的。
下面的數組公式是修改后不再區分大小寫的版本:
{=(SUM(LEN(Data))-SUM(LEN(SUBSTITUTE(UPPER(Data),UPPER(Text)," "))))/LEN(Text)}