我现在正在处理一个很大的excel文件,所以有一个问题。
我在较大的数据列表中有一列长的值(B列)。在C列中,我与数据列表中的另一个值具有连接,根据不同的条件可以为TRUE或FALSE。
我设法使用以下公式制作了两个数组函数,用于计算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))}
有人能帮助我解决如何根据多个条件将值添加到数组中,然后再计算该数组的中位数和四分位数吗?
答案 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)