• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

中位数/平均不返回正确的价值观

excel 来源:ichimok 3次浏览

Image for reference中位数/平均不返回正确的价值观

enter image description here

我试图实现以下目标: 如果(单元格A1在列表1中),对于每一行中它的发现和if(C4:C10 > B4:B10),然后median(the subtraction between C and B values, for every row that has text1)

我已经尝试了两种不同的2公式:

1 – {=MEDIAN(IF(AND((C4:C10>B4:B10);(B4:B10=A1));(C4:C10-B4:B10)))}

2 – {=MEDIAN((C4:C10>B4:B10)*(B4:B10=A1)*(C4:C10-B4:B10))}

中值,它始终返回0,对于一般的说是不准确的非常小的值。我确定中位数和平均数不正确。

问题是什么?

另外,我怎么会使用类似: {=MEDIAN((C4:C10>B4:B10)*(B4:B10=A1)*(C4:C10-B4:B10))}

如果一个列有一些行中的文本? (前者的问题并非如此,但之前已出现)。

text1     

list 1  list 2  list 3 
text2  1   5 
text4  2   4 
text1  4   6 
text4  1   6 
text1  4   5 
text4  2   4 
text1  3   3 


===========解决方案如下:

在这些类型的公式不能使用AND功能,因为AND返回单个结果(TRUEFALSE)不是作为所需的阵列。

您的第二个公式更接近,但是通过将所有条件相乘,您将在条件不满足的每一行都得到零,从而扭曲结果。

您可以使用这些类似的版本中的任一种:

=MEDIAN(IF((C4:C10>B4:B10)*(A4:A10=A1);C4:C10-B4:B10))

=MEDIAN(IF(C4:C10>B4:B10;IF(A4:A10=A1;C4:C10-B4:B10)))

都需要与CTRL + SHIFT确认 + ENTER

要处理列中的文本或C(并以制忽略这些行,但工作,否则)你可以添加这样

=MEDIAN(IF(C4:C10>B4:B10;IF(A4:A10=A1;IF(ISNUMBER(C4:C10-B4:B10);C4:C10-B4:B10))))

额外IF函数的所有公式将AVERAGE功能工作不到位的MEDIAN

同样出色

另一种方式来获得MEDIAN而忽略了文字使用AGGREGATE功能如下:

=AGGREGATE(17;6;C4:C10-B4:B10/(C4:C10>B4:B10)/(A4:A10=A1);2)

这不需要“数组条目”,但只能在Excel 2010或更高版本中使用。有没有简单的等效为AVERAGE

17表示QUARTILE功能 – 第二四分位数的中位数

相当于附见屏幕截图,展示您的样本数据的最后两个公式….和一些额外的文本

Excel screenshot


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)