计算单元格内子字符串的出现次数

计算单元格内子字符串的出现次数

如何计算单元格内子字符串出现的次数?

例如:

|   |         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,",",))

相关内容