Excel:计算单元格中的特定单词

我正在计算单元格中的特定单词并显示总数。 我已经search并尝试了几个类似的问题的解决scheme,但不能。 在下面的例子中,列A具有文本,列B具有需要被计数的唯一字(search标准),列C是计数。 请帮忙

例:

| Column A | Column B | Column C | | AA; BB; CC; AE; DE | AA; DE; CC | 3 | 

考虑:

 Public Function StringCounter(sBig As String, sKeys As String) As Long ary = Split(sBig, ";") bry = Split(sKeys, ";") StringCounter = 0 For Each b In bry If InStr(1, ";" & sBig & ";", ";" & b & ";") <> 0 Then StringCounter = StringCounter + UBound(Filter(ary, b)) + 1 End If Next b End Function 

例如:

在这里输入图像说明

如果一个单词AA在单元格A1中出现不止一次,则该函数将计算每个事件的发生次数。

编辑#1:

此版本可以使用或不使用空格:

 Public Function StringCounter(sBig As String, sKeys As String) As Long sBig = Replace(sBig, " ", "") sKeys = Replace(sKeys, " ", "") ary = Split(sBig, ";") bry = Split(sKeys, ";") StringCounter = 0 For Each b In bry If InStr(1, ";" & sBig & ";", ";" & b & ";") <> 0 Then StringCounter = StringCounter + UBound(Filter(ary, b)) + 1 End If Next b End Function 

在这里输入图像说明