Countifdynamic标准范围

我有包含值的电子表格
csrini /锆石免费csrini PAC PAC PAC PAC PAC PAC PAC PILLAR PILLAR

我想排除某些文本,如(PAC PDU和Pillar)。 我想使用一个dynamic的COUNTIF公式,所以当我想添加到排除我可以做到这一点,没有太多的工作。

是否有可能在标准中添加一个范围? 目前我正在使用下面的公式。

  =COUNTIFS(B6:M6,"<>*PAC*",B6:M6,"<>*PDU*",B6:M6,"<>*PILLAR*",B6:M6,"<>*Free*") 

谢谢

为了使这个dynamic工作,你需要使用一个数组公式。

首先定义你的话,在某个地方排除一列。 在这个例子中,我将使用A:A . 我也会用B:B作为search的范围。

不区分大小写的search的公式是:

 =COUNTA($B:$B)-SUMPRODUCT((IF(ISERROR(SEARCH(TRANSPOSE(INDIRECT("A1:A"&COUNTA($A:$A))),$B:$B)),0,1))) 

对于区分大小写的search,请更改SEARCHFIND

 =COUNTA($B:$B)-SUMPRODUCT((IF(ISERROR(FIND(TRANSPOSE(INDIRECT("A1:A"&COUNTA($A:$A))),$B:$B)),0,1))) 

数组公式使用crtl + shift + enter

这个公式首先使用COUNTA得到不是空的列B的全部计数,然后从B:Bfind的A:A的标准计数中减去。 它使用SEARCHFIND检查列B:B每个标准值B:B ,然后SUMPRODUCT将所有匹配结果相加。

需要注意的一个重要部分是TRANSPOSE ,这只是因为我将我的标准保留在列表中。 如果你保持你的标准在一行而不是一列,然后删除转置, FIND函数只需要它是一个水平数组。

无论何时在列A中添加数据行, INDIRECT公式INDIRECT更新范围,因此您不必手动更新它。