Countif动态标准范围

时间:2015-02-05 15:20:22

标签: excel excel-formula countif

我的电子表格包含了像
的值 csrini / Zircon Free csrini PAC PAC PAC PAC PAC PAC PILLAR PILLAR

我想排除某些文本,例如(PAC PDU和Pillar)。 我想使用动态COUNTIF公式,这样当我想添加到排除项时,我可以做很多工作。

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

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

由于

1 个答案:

答案 0 :(得分:1)

要使其动态运行,您需要使用数组公式。

首先定义您的单词以在某处排除列。我将在此示例中使用A:A。我还将使用B:B作为搜索范围。

非区分大小写搜索的公式为:

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

对于区分大小写的搜索更改SEARCHFIND

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

使用crtl + shift + enter

输入数组公式

此公式首先使用COUNTA获取非空列B的整个计数,然后从中减去A:AB:B内的SEARCH条件的计数。它使用FINDB:B检查列SUMPRODUCT中的每个条件值,然后TRANSPOSE对所有匹配项进行求和。

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

每当您在A列中添加数据行时,{{1}}公式都会更新范围,因此您无需手动更新。