我不能让COUNTIFS与搜索任何数字工作。
这适用于如果我做了第二个标准具体数值
=COUNTIFS(FOO!B:B,"*foobar*",FOO!C:C,"2")
但我不只是想寻找2
,我想要的任何数值(甚至包含一个数字的任何字符串)。我尝试了一些变化,但是从我的理解这应该如下工作。我在想什么?
=COUNTIFS(FOO!B:B,"*foobar*",FOO!C:C,"*{1,2,3,4,5,6,7,8,9,0}*")
数据
A B C
foobar 51
foo 682
bar S5
foobar CSGR
foobar 8RD
该COUNTIFS公式应返回给2
我想去的地方列B是foobar
和C列包含任何数字。
您可以使用类似=COUNT(FIND({0,1,2,3,4,5,6,7,8,9}),C2)>0
列C和列D.抄下这将返回TRUE或FALSE如果在单元格中的数字。
然后做沿着=COUNTIFS(FOO!B:B, "*foobar*", FOO!D:D, TRUE)
东西线
这并没有经过测试。
好...
这是一个有点长篇大论,有可能是一个更好的办法,但它的工作原理没有一个帮手列:
=SUMPRODUCT(
--NOT(ISERROR(SEARCH("*foobar*",B1:B5)))*
(
(
--NOT(ISERROR(SEARCH("*0*",C1:C5)))+
--NOT(ISERROR(SEARCH("*1*",C1:C5)))+
--NOT(ISERROR(SEARCH("*2*",C1:C5)))+
--NOT(ISERROR(SEARCH("*3*",C1:C5)))+
--NOT(ISERROR(SEARCH("*4*",C1:C5)))+
--NOT(ISERROR(SEARCH("*5*",C1:C5)))+
--NOT(ISERROR(SEARCH("*6*",C1:C5)))+
--NOT(ISERROR(SEARCH("*7*",C1:C5)))+
--NOT(ISERROR(SEARCH("*8*",C1:C5)))+
--NOT(ISERROR(SEARCH("*9*",C1:C5)))
)>0
)
)
如果搜索函数返回一个错误,这意味着文本没有被发现。搜索功能的结果被转换成由--NOT(ISERROR(
份0或1。
因此,对于每一行,我们检查,如果B列中包含“foobar的”。如果是这样,则返回1。这然后由式的第二个一半的结果乘以(也0或1)。在下半场比赛中,我们增加了对如何多位数的检查不会导致错误。如果该数大于0(即,在至少一个数位被发现),则返回1,如果没有发现位,则返回0。
这导致的1 * 1,1 * 0,0 * 1的总和,或0 * 0。这意味着,每行的总和仅导致1如果文本两列中发现,否则返回0。
该SUMPRODUCT然后简单地增加了这些零和以得到满足您的条件行的总数。
我希望这是有道理的。如果您需要更多的解释,只是让我知道。