如何计算字符串[Excel]中包含的确切文本

时间:2016-11-21 09:04:04

标签: excel count countif

我已经使用以下公式来计算字符串中包含的确切文本,但仍然错误地计算了它。例如,我想算一下" ZIKA"测试代码在表中,答案应该是两个。但配方计数ZIKA2也为ZIKA。如何忽略ZIKA2的数量呢?

TEST

  • HS2,CCAL,EGFR,AFB
  • ZIKA,AG21
  • PPB,ZIKA2
  • ZIKA,AG21

我已经尝试过这些公式:

=SUMPRODUCT(--(ISNUMBER(FIND("ZIKA",F:F))))

以及

=COUNTIF(F:F,"ZIKA")

3 个答案:

答案 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")

一起使用

enter image description here

答案 2 :(得分:0)

我假设您的数据遵循此格式

  

xxx,yyy,zzz
  逗号后的空格

您可能需要将公式拆分为3个部分

=COUNTIF(F:F,"ZIKA,*")+COUNTIF(F:F,"*, ZIKA")+COUNTIF(F:F,"ZIKA")

第一部分将以 ZIKA 开头,第二部分以 ZIKA 结束,最后我们应该只计算 ZIKA