在 Excel 中的数组公式中使用 and() 公式和 if 语句

在 Excel 中的数组公式中使用 and() 公式和 if 语句

好的,我在电子表格中列出了客户回报。每个客户还分配有一个风险类别(riskysafe),并分配有合作伙伴(P1P2)。

以下是布局示例

  A           B          C            D
Client  |  Return  |  RiskCat  |  Partner
_________________________________________
John       1.5%       risky       P2
Bill       1.8%       risky       P1
Tim        1.2%       safe        P2
Bob        1.4%       risky       P1
Kate       2.1%       risky       P2
Fred       0.8%       safe        P1
...etc

我编写了一个“ medianif()”函数,用于计算给定标准(例如风险类别)的回报中位数。因此,例如,如果我想找到风险类别的回报中位数,我会这样做:

=median(if(C:C="risky",B:B,""))

并按 ctrl-shift-enter 将其作为数组公式输入到单元格中。

同样,为了找到拥有 P1 作为伴侣的人的回报中位数,我会这样做:

=median(if(D:D="P1",B:B,""))

上述两个公式对我来说都适用,但我想找到风险类别和 P1 合作伙伴的收益中位数。好吧,我尝试:

=median(if(and(C:C="risky",D:D="P1"),B:B,""))

不幸的是,这不起作用,我得到了 #value 错误。是否可以以这种方式使用 AND(),如果不行,我该如何实现我想要的效果?

答案1

不,您不能以这种方式使用 AND 或 OR,因为这些函数返回单个结果而不是数组。您需要使用 * 而不是 AND....或多个 IF,例如

=MEDIAN(IF((C:C="risky")*(D:D="P1"),B:B))

或者

=MEDIAN(IF(C:C="risky",IF(D:D="P1",B:B)))

后者可能效率更高一些

相关内容