问题与计算中位数

这是我的数据

10 A 12 A 14 B 15 B 15 C 11 D 12 D 10 B 11 A 

我想从列B中selectA和C,然后根据列A计算中位数。

我已经使用了这个function

=MEDIAN(IF(B1:B9="A",B1:B9="C",A1:A9))

但是我得到了一个错误的数字。 我们能解决这个问题吗? 非常感谢您的帮助。

试试这个,按住ctrl+shift Enter同时Enter作为数组公式按住ctrl+shift

 =MEDIAN(IF($B$1:$B$10={"A","C"},$A$1:$A$10)) 

IF函数返回A1:A10或FALSE中适当值的数组。 而MEDIAN函数将忽略逻辑值,因为它们是由函数产生的,而不是手动input的。

这是一个显示数据和结果的屏幕截图。 您可以在公式栏中看到公式:(请注意,公式中的大括号{...} 不是手动添加的,当您使用ctrl+shift+enter确认公式时,它们将由Excel添加。数组常量,但是,您手动键入的大括号。

在这里输入图像说明

试试这个聚合函数:

 =AGGREGATE(17,6,$A$1:$A$500/(($B$1:$B$500 = "A")+($B$1:$B$500 = "C")),2) 

这是作为正常的公式input的。 这是一个非CSE数组公式。

在这里输入图像说明

我不认为你可以在一个方程中做到这一点。 我认为你需要一个新的列创build一个中间值,然后解决它。

在这里输入图像说明

我把这个公式放在C列(并把它拖到列中):

 =IF(OR(B1="A",B1="B"),A1,"") 

然后我通过计算均值(平均值),中值(中值)和模式(最常见的值)来testing这些值。 因为有6个值,所以Excel取两个中间值。

以下是F列的公式:

 =AVERAGE(C1:C9) =MEDIAN(C1:C9) =MODE(C1:C19) 

这里是微软的链接,谈论为什么“中位数”可能是列表中的两个值之间的值:

https://support.office.com/en-us/article/MEDIAN-function-D0916313-4753-414C-8537-CE85BDD967D2