我已经使用以下公式来计算字符串中包含的确切文本,但仍然错误地计算了它。例如,我想算一下" ZIKA"测试代码在表中,答案应该是两个。但配方计数ZIKA2也为ZIKA。如何忽略ZIKA2的数量呢?
我已经尝试过这些公式:
=SUMPRODUCT(--(ISNUMBER(FIND("ZIKA",F:F))))
以及
=COUNTIF(F:F,"ZIKA")
答案 0 :(得分:0)
你可以计算确切的zika和逗号分隔的vriations
=COUNTIF(F:F,"ZIKA")+COUNTIF(F:F,"ZIKA,*")+COUNTIF(F:F,"*, ZIKA")+COUNTIF(F:F,"*, ZIKA,*")
答案 1 :(得分:0)
试试这个正则表达式,它可能需要一个helpercolumn。我还没有测试过那么多。
按ALT + F11打开VBA编辑器
点击插入 - >模块和复制粘贴下面的代码。
Function Regex(Cell, Search)
Dim RE As Object
Set RE = CreateObject("vbscript.regexp")
RE.Pattern = "(\b" & Search & "\b)"
RE.Global = True
RE.IgnoreCase = True
Set Matches = RE.Execute(Cell)
For Each res In Matches
Regex = Regex & "," & res
Next res
Regex = Mid(Regex, 2)
End Function
如果在您运行它的单元格中找到ZIKA,它将返回“ZIKA” 然后你只需要在辅助列中计算ZIKA。
更新了新代码,您可以更改搜索。
与=regex(A1, "ZIKA")
答案 2 :(得分:0)
我假设您的数据遵循此格式
xxx,yyy,zzz
逗号后的空格
您可能需要将公式拆分为3个部分
=COUNTIF(F:F,"ZIKA,*")+COUNTIF(F:F,"*, ZIKA")+COUNTIF(F:F,"ZIKA")
第一部分将以 ZIKA 开头,第二部分以 ZIKA 结束,最后我们应该只计算 ZIKA