2017-08-10 771 views
2

我有一个Excel表:如何计算excel中满足两个条件的列值的中位数?

+-------------+--------------+ 
| Type (C) | value(D) | 
+-------------+--------------+ 
| AAA   | 0000   | 
| BBB   | 12004  | 
| AAA   | 5675   | 
| BBB   | 0000   | 
| BBB   | 7880   | 
| AAA   | 9563   | 
| AAA   | 878   | 
+-------------+--------------+ 

我想有型AAA的正(大于零)值的中值。

我试着为:

=MEDIAN(IF(AND(C$2:C$6950="AAA",D$2:D$6950>0),D$2:D$6950)) 

它返回零。该表有许多大于零的值,因此它应该大于零。如何做这个查询?

+0

你需要一个“其他”条件,按年增长都做,如果满足以下条件,那么做到这一点......但没有“其他” – user1

+0

但我没有'else'的任何操作。我想要大于零的值的中位数。那么如何添加一个空白的案例? –

回答

3

你不能在这里使用AND命令,它不起作用,而是将两个布尔部分相乘。这将实现和AND一样的事情。

=MEDIAN(IF((D$2:D$6950>0)*(C$2:C$6950="AAA"),D$2:D$6950)) 

按Ctrl,Shift键,Enter键,把在公式中。对于给定的数据,我的5675.

中位数如果列d的“数字”存储为字符串,你需要不同版本的配方,以应付转换

=MEDIAN(IF((D$2:D$6950<>"0000")*(C$2:C$6950="AAA"),VALUE(D$2:D$6950))) 
+0

编号有三个数字符合标准5675,956和878.这些数字的中位数是5675 –

+0

@Dipto_Das你用我给出的公式得到了什么值? –

+0

它使用CSE –

相关问题