如何在每个第n个单元格中使用Excels COUNTIF并保留通配符function
我一直在找网上的每一个地方,每个人似乎只是build议一个像SUMPRODUCT
的替代,但是,我想使用通配符。 通配符在COUNTIF
工作正常,但在其他我看到的替代scheme中却不行。
如何search列中的每一个第n个单元格,并返回一个精确的子string被find的次数(即COUNTIF(range, string)
,其中范围是每个第n个单元格和string可以是"*somestring"
, "some string*"
, "*somestring*"
或"some?string"
)
是的, SUMPRODUCT
是一个选项 – 比如说你想要每一个从A2开始的第5个单元格(即A2,A7,A12等),你可以使用这个公式来计算那些单元格中的“文本”的实例(可能在其他文本中)
=SUMPRODUCT((MOD(ROW(A2:A1000)-ROW(A2),5)=0)+0,ISNUMBER(SEARCH("text",A2:A1000))+0)
将5改为任何你想要的 – 如果你使用这个语法,它总是从第一个单元格开始。
ISNUMBER(SEARCH
部分给你相当于一个“通配符”search(你不能在这里使用实际的通配符)
更新
如果你想要相当于“文本*”,那么使用LEFT函数,例如
=SUMPRODUCT((MOD(ROW(A2:A1000)-ROW(A2),5)=0)+0,(LEFT(A2:A1000,LEN("text"))="text")+0)
和RIGHT可以用于相当于“* text”。
如果你想要相当于“txt”,这将是棘手的。 在第一个公式的searchfunction将允许您search“txt”,但这将是其他文本,所以如果你想要整个内容是“txt”,你可以添加另一个检查,例如
=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”