如何在每个第n个单元格中使用Excels COUNTIF并保留通配符功能

时间:2014-04-15 13:09:42

标签: excel range wildcard countif

我一直在寻找网上的每个地方,每个人似乎只是建议像SUMPRODUCT这样的替代方案,但是,我想使用通配符。通配符在COUNTIF中正常工作,但在我见过的其他替代方法中没有。

如何搜索列中的每个第n个单元格并返回找到确切子字符串的次数(即COUNTIF(range, string),其中 范围 每第n个单元格 字符串 可以是"*somestring""some string*""*somestring*"或{{ 1}})

1 个答案:

答案 0 :(得分:2)

是的,SUMPRODUCT是一个选项 - 比如你希望每个第5个单元格从A2开始(即A2,A7,A12等),你可以使用这个公式计算那些单元格中“文本”的实例(可能在其他文本中)

=SUMPRODUCT((MOD(ROW(A2:A1000)-ROW(A2),5)=0)+0,ISNUMBER(SEARCH("text",A2:A1000))+0)

将5更改为您想要的 n - 如果您使用此语法,它始终以范围中的第一个单元格开头。

ISNUMBER(SEARCH部分为您提供相当于“通配符”的搜索(此处不能使用实际的通配符)

更新

如果你想要等同于“text *”,那么使用LEFT功能,例如

=SUMPRODUCT((MOD(ROW(A2:A1000)-ROW(A2),5)=0)+0,(LEFT(A2:A1000,LEN("text"))="text")+0)

和RIGHT可用于相当于“* text”。

如果你想要相当于“t?xt”的话会比较棘手。第一个公式中的SEARCH函数将允许您搜索“t?xt”,但这将是其他文本,因此如果您希望整个内容为“t?xt”,您可以添加另一个检查,例如

=SUMPRODUCT((MOD(ROW(A2:A1000)-ROW(A2),5)=0)+0,ISNUMBER(SEARCH("t?xt",A2:A1000))+0,(LEN(A2:A1000)=4)+0)

那只会计算包含“text”,“toxt”,“t5xt”等但不包含“text2”的单元格