使用嵌套的IF和AND数组公式确定中间值

我试图创build两个相似的数组公式:

一种是确定列(B)中的单元格的中值,但是只有在列J中有两个对应的空白值,并且列D中有数字值(D和J在单独的表格中)。

另一个公式是做相同的事情,除了它将只确定B中的单元格的中位数,J列中的对应单元格不是空白的。

我应该注意到我确保使用命令shift-enter来input它们,因为它们是数组公式。 但是,它们都是零。 我试了很长时间,不知道为什么。 我是新来的Excel公式,所以请让我知道,如果我应该澄清我的问题。

第一个公式:

=MEDIAN(IF( AND('Raw Data'!$J$3:'Raw Data'!$J$999="", ISNUMBER('Raw Data'!$D$3:'Raw Data'!$D$999)), B$6:B$1002)) 

第二个公式:

 =MEDIAN(IF( AND(NOT(ISBLANK('Raw Data'!$J$3:'Raw Data'!$J$999)), ISNUMBER('Raw Data'!$D$3:'Raw Data'!$D$999)), B$6:B$1002)) 

AND数组等于乘法*

 =MEDIAN(IF(('Raw Data'!$J$3:$J$999="")* ISNUMBER('Raw Data'!$D$3:$D$999), B$6:B$1002) ) 

与数组项( CTRL + SHIFT + ENTER )。

对于第二个公式:

 =MEDIAN(IF(NOT(ISBLANK('Raw Data'!$J$3:$J$999))* ISNUMBER('Raw Data'!$D$3:$D$999), B$6:B$1002) ) 

也与数组input。


解释为什么AND不工作。

你所期望的是, AND({TRUE,FALSE,FALSE},{TRUE,TRUE,FALSE})返回{TRUE,FALSE,FALSE}

但是, AND获取布尔值数组并返回单个布尔值 – 表示所有值是TRUE还是FALSE

所以, AND({TRUE,FALSE,FALSE},{TRUE,TRUE,FALSE})返回FALSE因为不是所有的值都是TRUE

但是,乘法{TRUE,FALSE,FALSE}*{TRUE,TRUE,FALSE}完全按照您需要的方式工作 – 返回{TRUE*TRUE,FALSE*TRUE,FALSE*FALSE} = {TRUE, FALSE, FALSE}