我想指望出現在Excel中的字符串數據的列內的子串的次數內算子的出現。請看下面的例子。公式在Excel中的字符串
字符串數據的列(微博)是這樣的:
A
1 An example string with @username in it
2 RT @AwesomeUser says @username is awesome
與「子」(微博網名)的列如下:
B
1 username
2 AwesomeUser
我想用一個公式來計算B1,B2等字符串中出現的子字符串出現在列A中的字符串的次數。例如:搜索B1的公式將返回「2」,而搜索B2將返回「1」。
我不能做這種方式:
=COUNTIF(A:A, "username")
因爲COUNTIF僅查找字符串,而不是子。這個公式總是返回「0」。
這裏有一個formula我認爲可能做到這一點:
=SUMPRODUCT((LEN(A:A)-(LEN(SUBSTITUTE(A:A,"username",""))))/LEN("username"))
不幸的是,我在B列16000項和數以萬計的A,所以計算字符不會高功率PC上甚至工作(此外,函數返回的結果是可疑的)。
我想過使用:
=COUNTIF(A:A, "*username*")
但COUNTIF需要與運營商星的字符串;由於數據量的原因,我需要使用單元格引用。
我的問題:有沒有人知道我可以用一個公式來進行?如果使用COUNTIF,如何在語句的條件部分中獲取單元格引用(或使用函數替換COUNTIF語句的條件部分中引用的單元格中的字符串)?
我知道我可能解析數據,但我想知道如何在Excel中做到這一點。
注意, SUMPRODUCT公式引用與Chris的COUNTIF函數略有不同。 COUNTIF最多隻會對每個單元格進行一次計數,因此每個單元格的「得分」爲1或零。 SUMPRODUCT公式會統計所有實例或「用戶名」,即使它在任何單個單元格中出現多次 - 如果要使用該公式,則應限制範圍而不是使用整列 –