【问题标题】:Determining median values with nested IF and AND array formulas使用嵌套的 IF 和 AND 数组公式确定中值
【发布时间】:2014-05-25 23:22:10
【问题描述】:

我正在尝试创建两个相似的数组公式:

一种是确定列(B)中单元格的中值,但前提是J列中同时存在对应的空白值,并且D列中存在数值。(D和J在不同的表中.)

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

我应该注意我确保使用 command-shift-enter 输入它们,因为它们是数组公式。但是,对于他们俩来说,它都归零。我已经尝试了很长时间,但无法弄清楚为什么。我是 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))

【问题讨论】:

    标签: excel excel-formula


    【解决方案1】:

    数组等价于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)
           )
    

    还有数组条目。


    解释为什么AND 不起作用。

    您期望AND({TRUE,FALSE,FALSE},{TRUE,TRUE,FALSE}) 返回{TRUE,FALSE,FALSE}

    然而,AND 采用 array 布尔值并返回 single 布尔值 - 这表明 所有 值是 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}

    【讨论】:

    • 太棒了!非常感谢您的详尽回答和解释——这非常有帮助。
    猜你喜欢
    • 1970-01-01
    • 2022-07-07
    • 1970-01-01
    • 2022-01-12
    • 1970-01-01
    • 1970-01-01
    • 2021-04-14
    • 1970-01-01
    • 2018-10-26
    相关资源
    最近更新 更多