使用 COUNTIF 时如何排除以任意数字结尾的字符串?

使用 COUNTIF 时如何排除以任意数字结尾的字符串?

我有一张表格,我想计算某个字符串在某一列中出现的次数。我以前也COUNTIF这样做过,但我想在计数中排除那些以任意数字结尾的字符串的单元格。

我尝试使用这个公式,但标准无法识别,因为它总是错误地给出 0 值:

=COUNTIF([Name],"*"&A3&NOT(ISNUMBER(VALUE(RIGHT("*")))))

编辑:

Area 25下面的截图显示我想计算在列上出现的次数Name
包括San Jose Area 25(因为它包含子字符串Area 25
但不包括San Jose Area 252Area 251(因为这些字符串以字符串之后的数字结尾Area 25),并且也不Area 25-A包括(因为Area 25与另一个子字符串相连-A

Excel COUNTIF 错误

所以我希望在单元格 D3 中看到的结果是4,分别为:(
Area 25单元格 A3 和 A11)、
Area 25 Zone B(单元格 A4)和
San Jose Area 25(单元格 A8)。

答案1

您可以以不同的方式处理“IF”部分。

=COUNT(SEARCH("Area 25",IF(NOT(ISNUMBER(VALUE(RIGHT(A1:A10,1)))),A1:A10,"")))

RIGHT(something,1)找到每个 STRING 的最后一个字符,然后VALUE()尝试将其变成数字。ISNUMBER()测试是否成功,并将NOT()其找到的 TRUE/FALSE 值反转为 FALSE/TRUE。

IF()然后使用这些 TRUE/FALSE 结果来决定如何分支,返回单元格值或“”。您只测试那些符合测试的单元格,因为它们的最后一个字符不是数字。

SEARCH()查找所有这些,包括空白和所有内容,但重要的是,那些仍然有值的单元格,以查找您要查找的内容。它将返回每个字符串的起点,因此不能简单地返回SUM()结果。错误返回也不会使这变得容易。但是,成功是数字结果,因此简单的方法是COUNT()通过计数来完成。它会忽略任何非数字的内容,因此它会忽略错误。它还将数字计为“1,每个”,因此如果目标字符串从字符 37 开始,因此该单元格的返回值为 37,它仍然COUNT()只是“1”,而不是“37”,所以这里就是你想要的。

在提出这个问题的时候,以及现在(2021年),范围可以是命名范围,允许它扩大和缩小而无需在公式中进行更改。

现在,如果人们想要明确地看到范围并确保它是正确的,而无需深入研究命名范围,则可以LET()在公式的最开始定义“命名范围”,这样就很容易查看和编辑。

相关内容