如何在Excel公式标准中使用范围

我有要求在哪里我想要执行计数的范围。 因为有条件,我想使用COUNTIF / COUNTIFS函数。 在标准中,我想使用范围,因为我有多个可以匹配的值。 以下是一个例子

数值 – 苹果,芒果,橙,芒果,苹果,苹果,橙,橙

我想要的是例如APPLE和ORANGE,但我想保持它的基础。 这意味着在另一列我想把我想要的价值数。 所以我一次只能放APPLE,另外一个时候APPLE,MANGO等等。 如果我还不够清楚,换句话说,我想要一个由另一个范围内的值决定的数值。

我找不到在COUNTIF / COUNTIFS函数的“标准”参数中使用范围的任何方法。 我知道我可以在每个“标准”中使用具有不同值的多个COUNTIF的总和,但是这会变成硬编码,每次我需要更改公式。

有人可以帮助我如何在“标准”中使用范围(而不是单个值)?

也许

=SUMPRODUCT(COUNTIF(data_range,criteria_range)) 

假设您的数据列表在A列,您的“要计数的数值”占据D1:D5。

在单元格B1中,使用=IF(ISNA(VLOOKUP(A1,$D$1:$D$5,1,FALSE)),0,1) 。 如果A1出现在D1中,这将写入1:D5,否则为0。

向下复制这个公式。 请注意,它将返回一个空白单元格,所以你可以扩展这个公式,只要你喜欢,从而面向未来的工作表。

在另一个单元格中,求和列B =SUM(B1:B...)其中B...是公式范围的结尾。

我不认为你可以使用数组一步到达最终的公式。

我build议你调查Excel公式DCOUNT

http://office.microsoft.com/en-us/excel-help/dcount-HP005209049.aspx

微软甚至使用水果为基础的例子!

CountIf接受一个范围和一个标准 。 该标准可以引用一个范围。

例如:

=CountIf(A:A,"Apple")计算A列中“苹果”一词的出现次数。

和:

=CountIf(A:A,B2)计算单元格B2中A列出现的次数*

如果使用两个单元格来定义search条件,比如说B2C2 ,则可以这样做:

=CountIf(A:A,B2)+CountIf(A:A,C2)

或者使用CountIfs

=CountIfs(A:A,B2,A:A,C2)

如果您必须将两个search标准放在一个单元格中(看起来像是一个坏的工作表结构的问题,而不是任何好的devise要求),那么您可以使用string函数修改上述任何函数的标准

例如:说你的Apple, Orange的标准Apple, Orange是一个单元格, C2 ,用逗号分隔:

=CountIf(A:A,Trim(MID(C2,1,FIND(",",C2)-1))) + CountIf(A:A,TRIM(MID(C2,FIND(",",C2)+1,LEN(C2)))

我仍然认为你最好使用一个合适的CountIfs或总结两个CountIf与独立的标准范围,而不是试图排除错误,或build立复杂的公式(即,修改上述工作,即使没有逗号,或一个单一的值等….)