使用嵌套的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}