Excel:如何向中位数和第一四分位数的数组计算中添加多个条件

时间:2018-08-22 15:57:14

标签: arrays excel criteria median quartile

我现在正在处理一个很大的excel文件,所以有一个问题。

我在较大的数据列表中有一列长的值(B列)。在C列中,我与数据列表中的另一个值具有连接,根据不同的条件可以为TRUE或FALSE。

enter image description here

我设法使用以下公式制作了两个数组函数,用于计算B列中的值的中位数和第一四分位数,其中C列中的值为TRUE。只要相应行的C列中的值等于TRUE,他们就计算B列中的值的中位数和第一四分位数。

{=MEDIAN(IF($C$2:$C$11; $B$2:$B$11))}

{=QUARTILE(IF($C$2:$C$11; $B$2:$B$11);1)}

现在,我想向计算添加另一个条件。除了使C列中的值等于TRUE外,如果A列中的值等于“度量1”或任何其他动态值,我也只想计算中位数和第一四分位数。我试图在下面嵌套AND函数,但是它根本不起作用。

{=MEDIAN(IF(AND($B$2:$B$11;$A$2:$A$11="Measure 1"); $C$2:$C$11))}

有人能帮助我解决如何根据多个条件将值添加到数组中,然后再计算该数组的中位数和四分位数吗?

1 个答案:

答案 0 :(得分:0)

构造一个适用值的数组,然后将该函数应用于该数组。

由于这些是数组公式,因此必须在按下 enter 时按住 ctrl + shift 来输入/确认这些公式。如果操作正确,Excel将按照公式栏中的说明在公式周围放置括号{...}

因此,对于Median

=MEDIAN((IF((Condition_1=TRUE)*(Measure="Measure 1")*Value,(Condition_1=TRUE)*(Measure="Measure 1")*Value)))

,对于四分位数1

=QUARTILE((IF((Condition_1=TRUE)*(Measure="Measure 1")*Value,(Condition_1=TRUE)*(Measure="Measure 1")*Value)),1)

Quartile也是可以在数组上使用的AGGREGATE参数之一,因此通常可以输入:

=AGGREGATE(17,6,1/((Condition_1=TRUE)*(Measure = "Measure 1"))*Value,1)

而且,在QUARTILE.INC夸脱参数= 2的情况下,它与MEDIAN相同

因此,对于Median,您可以使用:

=AGGREGATE(17,6,1/((Condition_1=TRUE)*(Measure = "Measure 1"))*Value,2)