根据B列中移动的标准范围计算A列中的唯一值

时间:2016-06-03 15:55:47

标签: excel countif sumifs

好的,这是我的第一个问题,让我希望我能解释清楚......

基本上,我想计算A列中唯一值的数量,但是要计算在B列中具有指定范围内的值的子集。

以下是一个例子:

ColumnA     ColumnB
potato      29.1
potato      29.7
potato      30.3
potato      31.0
bean        31.6
apple       32.2
apple       32.8
bean        33.5
bean        34.0
apple       34.3
potato      35.0

Count b/w 29-31:    1               
Count b/w 30-32:    2           
Count b/w 31-33:    3               
Count b/w 32-34:    2           
Count b/w 33-35:    3           

换句话说,我想知道每个范围内有多少个唯一项目(由B列指定),我想通过一系列重叠范围来实现这一点。< / p>

到目前为止,我能够提出的最好的是COUNTIFS公式,它计算每个范围内的记录总数。 e.g:

= COUNTIFS(B1:B11,&#34;&GT; = 29&#34;,B1:B11,&#34;&LT; = 31&#34)

= COUNTIFS(B1:B11,&#34;&GT; = 30&#34;,B1:B11,&#34;&LT; = 32&#34)

= COUNTIFS(B1:B11,&#34;&GT; = 31&#34;,B1:B11,&#34;&LT; = 33&#34)

等...

这显然甚至没有参考A栏。我已经根据类似的问题尝试了一些不同的数组公式,但他们总是在解决一个稍微不同的问题,所以我&#39;很大程度上是不成功的。

任何帮助非常感谢!谢谢。

1 个答案:

答案 0 :(得分:1)

您将使用此数组公式:

=SUM(IF(($B$2:$B$12>=A16)*($B$2:$B$12<=B16),(1/COUNTIFS($A$2:$A$12,$A$2:$A$12,$B$2:$B$12,">=" & A16,$B$2:$B$12,"<=" & B16))))

存在和数组公式必须在退出编辑模式时使用Ctrl-Shift-Enter确认。如果操作正确,则Excel会自动将{}放在公式周围。

enter image description here

它找到B中数据位于范围之间的所有行,然后使用1 / COUNTIF()来查找唯一值。