具有多个标准的Excel数组公式IF

时间:2016-05-03 17:35:15

标签: arrays excel if-statement excel-formula excel-2016

在使用数组公式的电子表格中,我根据多个条件创建了一个唯一的值列表。公式如下:

{=INDEX(INDIRECT($O$3&"!$L$2:$L$"&$O$16),SMALL(IF((INDIRECT($I$3,FALSE)=$O$7)*(INDIRECT($K$3,FALSE)=$O$9)*(INDIRECT($M$3,FALSE)=$O$11)*(INDIRECT($X$17,FALSE)=$O$15)*(INDIRECT($AF$17,FALSE)>$O$15),ROW(INDIRECT($O$3&"!$L$2:$L$"&$O$16))-2,""),ROW()-20))}

如果IF函数:

,则问题属于此部分
(INDIRECT($K$3,FALSE)=$O$9)

Cell $ O $ 9包含下拉列表,其中包括一个单元格内容变量以及<&gt ;,<> *,<> *文字*,“”

当我使用直接文本匹配时:特定列包含水果列表,“apple”是其中一个值,一旦$ O $ 9包含单词“apple”公式,我就会获得一个唯一列表。如果$ O $ 9包含上述任何组合(<>,<> *,<> * Text *,“”),它会给我一个错误。

问题:如何更改“= $ O $ 9”,以便能够使用$ O $ 9的以下内容等于<>,<> *,&lt ;> *文字*,“”等

注意:我无法调整单元格$ O $ 9中的下拉列表,但只能修改数组公式。

提前致谢!

1 个答案:

答案 0 :(得分:1)

这不是一个完整的答案,只是为了表达我的想法: -

假设您有两个列范围,我称之为AA和BB,并且您希望基于$ O $ 9实现一些测试。它看起来像这样: -

=SUM((BB=1)*IF($O$9="<>",AA<>"",IF($O$9="<>*",AA="",IF(ISNUMBER(FIND("*",$O$9)),ISERROR(FIND(MID($O$9,4,LEN($O$9)-1),AA)),$O$9=AA))))

所以我要说的是你的(间接($ K $ 3,FALSE)= $ O $ 9)必须变成类似上面SUM之后的括号内容。