【问题标题】:Excel Array formula IF with multiple criterias具有多个条件的 Excel 数组公式 IF
【发布时间】:2016-05-03 17:35:15
【问题描述】:

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

{=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)

单元格 $O$9 包含下拉列表,其中包括单元格内容变量之一以及 、*、 * Text*,""

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

问题:如何更改“=$O$9”,使其能够使用$O$9的以下内容等于, *, * Text* ,""等

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

提前致谢!

【问题讨论】:

  • 抱歉 - 您想使用单元格 O9 中的内容作为您的标准的一部分吗?因此,如果在单元格 O9 中为“”,您希望公式解析为 (Indirect($K$3,FALSE)=<>)
  • 我认为您不能将逻辑运算符存储在单元格中。您也不能像您尝试做的那样在比较表达式中使用通配符。我假设这就是 * 是什么。我相信你必须在里面添加一个搜索功能,但是 (不等于)将无法按预期工作。对我来说,听起来你需要一个用户定义的函数。
  • 你好布鲁斯。你说的对。我想使用以下逻辑运算符作为单元格 O9 的内容: - nonblank; * - 空白; *Text* - 不包含特定文本; ““ 空白的。我在同一个工作表中为其他 COUNTIFS 公式使用相同的下拉菜单。
  • 还有一件事,我准备调整单元格 O9 中的下拉列表作为最后一个选项。
  • 看起来您至少需要三种特殊情况 - 空白、非空白或不包含指定文本(如果您想要部分匹配,请使用 FIND 或 SEARCH) - 可以完成,但是公式有点长。

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


【解决方案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))))

所以我的意思是,您的 (INDIRECT($K$3,FALSE)=$O$9) 必须变成类似于上面 SUM 后面括号的内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-23
    • 2017-04-02
    • 1970-01-01
    相关资源
    最近更新 更多