0

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

要计算的值 - APPLE, MANGO, ORANGE, MANGO, APPLE, APPLE, ORANGE, ORANGE

例如,我想要的是 APPLE 和 ORANGE,但我想保持它的通用性。这意味着我想在另一列中放置我想要计算的值。所以一次我只能放 APPLE,另一次我可以放 APPLE、MANGO 等等。如果我仍然不够清楚,那么换句话说,我想要一个由另一个范围内的值确定的值的计数。

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

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

4

4 回答 4

1

我建议你调查一下 Excel 公式 DCOUNT

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

微软甚至为您使用了一个基于水果的示例!

于 2013-06-11T02:06:20.293 回答
1

假设您的数据列表位于 A 列中,并且您的“要计算的值”占据 D1:D5。

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

向下复制此公式。请注意,它将为空白单元格返回 0,因此您可以根据需要扩展此公式,从而为您的工作表提供未来的证明。

在另一个单元格中,对 B 列求和,公式范围的末尾在=SUM(B1:B...)哪里。B...

我认为您无法使用数组一步得出最终公式。

于 2013-06-10T12:30:57.427 回答
1

也许

=SUMPRODUCT(COUNTIF(data_range,criteria_range))
于 2013-06-10T12:22:32.417 回答
0

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

例如:

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

和:

=CountIf(A:A,B2)计算 *whatever value 在 Cell 中的出现次数B2,在 A 列中。

如果您使用两个单元格来定义搜索条件,例如B2C2,您可以这样做:

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

或使用CountIfs

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

如果您必须将两个搜索条件放在一个单元格中(似乎是工作表结构错误的问题,而不是任何好的设计要求),那么您可以使用字符串函数修改上述任何函数的条件:

例如:假设您的条件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,而不是尝试解决错误或构建复杂的公式(即,即使没有逗号或单个值等,也可以修改上述内容以工作....)

于 2013-06-11T03:22:13.030 回答