如何计算单元格内子字符串出现的次数?
例如:
| | A |
| 1 |John,John,Tom,David|
如果我想返回单元格 A1 中“John”出现的次数 (=2),我该使用什么公式?
答案1
以下是在 Google 电子表格中可行的方法:
=COUNTIF(SPLIT(A1,","),"John")
答案2
哇,在搜索了这个问题一个月后,我在发布这个问题后偶然发现了答案。以下是我想到的答案,以防其他人遇到这个问题。
=SUM(IF(ISNUMBER(FIND("John"; SPLIT(A1; ",")));1;0))
这是一个数组公式,因此需要使用Ctrl+ Shift+输入Enter。
如果有人想到更好的方法来解决这个问题,请告诉我!
答案3
我想你可能找到了最好的方法。
替代:
=(LEN(A1)-LEN(SUBSTITUTE(A1,"John",)))/LEN("John")
答案4
@erwaman 给出的代码必须与分隔符一起使用。
=COUNTIF(SPLIT(A1,","),"John")
@variant 给出的替代代码不需要分隔符。
=(LEN(A1)-LEN(SUBSTITUTE(A1,"John",)))/LEN("John")
我处理的单元格包含一个以逗号分隔的列表。我需要计算列表的长度,第二段代码非常有效。
如果您要搜索的字符串恰好是 1 个字符,如“,”或“ ”,则可以将其简化为此。
=LEN(A1)-LEN(SUBSTITUTE(A1,",",))