问题描述
我正在尝试创建两个类似的数组公式:
I'm trying to create two similar array formulas:
一个是确定列(B)中单元格的中值,但只有在在列J中都是相应的空白值,列D中有数值。(D和J在不同的表格中。)
One is to determine the median value of the cells in a column (B), but only if there are both corresponding blank values in column J, and there are numeric values in column D. (D and J are in separate sheets.)
另一个公式是相同的事情,除了它只会确定B中的单元格的中位数,其中列J中的相应单元格不为空。
The other formula is the do the same thing, except it will only determine the median for the cells in B for which the corresponding cells in column J are not blank.
我应该注意我确定使用command-shift-enter输入它们,因为它们是数组公式。但是,对于他们来说,它都是零。我已经尝试了很长时间,不知道为什么。我是新的Excel公式,所以请让我知道,如果我应该澄清我的问题。
I should note I am making sure to enter them in with command-shift-enter, since they are array formulas. However, it's coming out to zero for both of them. I've tried for a long time and can't figure out why. I'm new to Excel formulas, so please let me know if I should clarify my question.
第一个公式:
=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)
)
与数组条目( + + )。
with array entry (++).
公式:
=MEDIAN(IF(NOT(ISBLANK('Raw Data'!$J$3:$J$999))*
ISNUMBER('Raw Data'!$D$3:$D$999),
B$6:B$1002)
)
还有数组输入。
解释为什么 AND
not work。
Explanation why AND
not working.
你所期待的是 AND({TRUE,FALSE,FALSE},{TRUE,TRUE, FALSE})
返回 {TRUE,FALSE,FALSE}
。
但是, AND
采用布尔值的数组并返回 / em>布尔值 - 表示所有值是否为 TRUE
或 FALSE
。
However, AND
takes array of boolean values and returns single boolean value - which indicates whether all values are TRUE
or FALSE
.
所以, AND({TRUE,FALSE,FALSE},{TRUE,TRUE,FALSE})
返回 FALSE
因为不是所有的值都是 TRUE
。
So, AND({TRUE,FALSE,FALSE},{TRUE,TRUE,FALSE})
returns FALSE
because not all values are TRUE
.
但是,乘法 {TRUE,FALSE,FALSE} * {TRUE,TRUE,FALSE}
完全按照需要运行 - 它返回 {TRUE * TRUE,FALSE * TRUE,FALSE * FALSE} = {TRUE,FALSE,FALSE}
But, multiplication {TRUE,FALSE,FALSE}*{TRUE,TRUE,FALSE}
works exactly as you need it - it returns {TRUE*TRUE,FALSE*TRUE,FALSE*FALSE} = {TRUE, FALSE, FALSE}
这篇关于使用嵌套的IF和AND数组公式确定中值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!