And*_*rew 22 excel excel-formula
我试图计算子字符串在Excel中的字符串数据列中出现的次数.请参阅以下示例.
字符串数据列(推文)如下所示:
A
1 An example string with @username in it
2 RT @AwesomeUser says @username is awesome
Run Code Online (Sandbox Code Playgroud)
带有"substrings"(Twitter屏幕名称)的列如下所示:
B
1 username
2 AwesomeUser
Run Code Online (Sandbox Code Playgroud)
我想使用公式来计算来自B1,B2等的子字符串出现在A列的字符串中的次数.例如:搜索B1的公式将返回"2"并且搜索B2将返回"1".
我不能这样做:
=COUNTIF(A:A, "username")
Run Code Online (Sandbox Code Playgroud)
因为COUNTIF只查找字符串,而不是子字符串.该公式将始终返回"0".
这是我认为可以做到的公式:
=SUMPRODUCT((LEN(A:A)-(LEN(SUBSTITUTE(A:A,"username",""))))/LEN("username"))
Run Code Online (Sandbox Code Playgroud)
不幸的是,我在B列中有16,000个条目,在A中有数万个,因此即使在高功率PC上计数字符也不起作用(同样,该函数返回的结果也是可疑的).
我想过使用:
=COUNTIF(A:A, "*username*")
Run Code Online (Sandbox Code Playgroud)
但COUNTIF需要一个带星形运算符的字符串; 由于数据量的原因,我需要使用单元格引用.
我的问题:有谁知道如何使用这个公式?如果使用COUNTIF,如何在语句的条件部分中获取单元格引用(或使用函数替换COUNTIF语句的条件部分中引用的单元格中的字符串)?
我知道我可以解析数据,但我想知道如何在Excel中执行此操作.
chr*_*sen 39
你快到了,使用
=COUNTIF(A:A, "*"&B1&"*")
Run Code Online (Sandbox Code Playgroud)
(在Excel 2010中测试)
小智 5
一个非常简单的 Excel 解决方案,用于将 x 字符串(“ABC”)出现在 y 字符串(“ABC 123 ABC 23dfABC”)中:
出现次数:len(substitute(y,x,x1)) - len(y)
用于理解的术语: x 字符串:“ABC” x1 字符串:“ABC_” y 字符串:“ABC 123 ABC 23dfABC” y1 字符串:“”ABC_ 123 ABC_ 23dfABC_”