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

如何在每个第n个单元格中使用Excels COUNTIF并保留通配符功能,excel,range,wildcard,countif,Excel,Range,Wildcard,Countif,我一直在网上到处寻找,每个人似乎都只是简单地建议一种替代方法,比如SUMPRODUCT,然而,我想使用通配符。通配符在COUNTIF中运行良好,但在我所见过的其他替代方案中则不行 如何搜索列中的每n个单元格并返回精确子字符串的查找次数计数(即COUNTIF(range,string),其中range是每n个单元格,string可以是“*somestring”,“somestring*”,“*somestring*”或“some?string”)是的,SUMPRODUCT是一个选项-假设您希望每5

我一直在网上到处寻找,每个人似乎都只是简单地建议一种替代方法,比如
SUMPRODUCT
,然而,我想使用通配符。通配符在
COUNTIF
中运行良好,但在我所见过的其他替代方案中则不行


如何搜索列中的每n个单元格并返回精确子字符串的查找次数计数(即
COUNTIF(range,string)
,其中range是每n个单元格,string可以是
“*somestring”
“somestring*”
“*somestring*”
“some?string”

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

=SUMPRODUCT((MOD(行(A2:A1000)-行(A2),5)=0)+0,ISNUMBER(搜索(“文本”,A2:A1000))+0)

将5更改为所需的任何值-如果使用此语法,它总是从范围中的第一个单元格开始

ISNUMBER(SEARCH
部分为您提供了与“通配符”搜索等价的功能(此处不能使用实际的通配符)

更新

如果您想要“text*”的等效值,则使用LEFT函数,例如

=SUMPRODUCT((MOD(行(A2:A1000)-行(A2),5)=0)+0,(左(A2:A1000,LEN(“text”)=“text”)+0)

而RIGHT可以用作“*text”的等价物

如果你想要“t?xt”的等价物,那就更难了。第一个公式中的搜索函数允许你搜索“t?xt”,但这将是其他文本之一,因此如果你想要整个内容是“t?xt”,你可以添加另一个检查,例如

=SUMPRODUCT((MOD(行(A2:A1000)-行(A2),5)=0)+0,ISNUMBER(搜索(“t?xt”,A2:A1000))+0,(LEN(行(A2:A1000)=4)+0)


这将只计算包含“text”、“toxt”、“t5xt”等的单元格,而不计算“text2”

我说过我想在我的问题中使用通配符。我还没有看到这样的解决方案。如果我想搜索“text”或“text2”或“t?xt”,该怎么办“…?@JacobD这是三个不同的字符串。到或,您将分别搜索每一个字符串并将它们添加到一起。搜索将?和*识别为通配符,因此第三个字符串的结果应该与预期的一样。@RonRosenfeld我的意思是我想在不同的场合搜索它们。答案是:“ISNUMBER(搜索部分为您提供了与“通配符”搜索等价的功能(此处不能使用实际的通配符),然后您会说:“搜索将?和*识别为通配符”那么,我可以使用通配符吗?当我实现此解决方案时,通配符似乎不能正确地作为答案。@JacobD它的工作原理与描述相同。请阅读有关搜索函数的Excel帮助。然后向我们确切地显示您用于公式的内容;确切地显示您的数据;您的实际结果;以及您的预期结果。编写的公式将c计算A2、A7等中包含“文本”的任何单元格,因此它相当于在COUNTIF中使用“文本”。对于“文本*”或“*text”,您可以使用
函数来代替
ISNUMBER(搜索
),我编辑了我的答案。