excel在index-small-if上返回结果,如果有多个条件

时间:2014-11-25 10:40:22

标签: excel if-statement indexing excel-formula excel-2010


亲爱的社区,

我目前陷入两难境地。 我为我们的团队构建了一个开发工作跟踪表,使我们能够管理和跟踪完成需求和软件发布所需的任务。

对于每个版本,我都有一些表格,这些表格将填充一个表格,其中包含来自源表的不同团队成员的相关信息,帮助我们跟踪我们的任务并包含燃尽图表的进一步自动化。 我只认为自己是关于excel的padawan,并且基于google fu和trial& amp;错误。现在让我们来看看细节

表格内容

  • 请求ID

  • 需求ID

  • 努力

  • 发布

二手声明:

=IF(ISERROR(INDEX($J$1:$M$4;SMALL(IF($J$1:$J$4=$B$7;ROW($J$1:$M$4));ROW(1:1));4));"";INDEX($J$1:$M$4;SMALL(IF($J$1:$J$4=$B$7;ROW($J$1:$M$4));ROW(1:1));1))    

不幸的是我不知道如何从这里开始。 我希望修改语句,使得返回对应于满足两个或更多标准的结果,即仅版本2.0和需求ID DFE1。

我试图嵌套一个IF语句,如下所示,但没有成功。

=INDEX($J$1:$M$4;SMALL(IF($J$1:$J$4=$B$7;ROW($J$1:$M$4);IF($K$1:$K$4=$B$8;ROW($J$1:$M$4)));ROW(1:1));1)

请建议可行的方法。

如果您需要任何进一步的细节,请告诉我。

1 个答案:

答案 0 :(得分:1)

如果您使用Excel 2010,则可以使用IFERROR而不是ISERROR来避免重复公式,因此您的原始公式可以

=IFERROR(INDEX($J$1:$M$4;SMALL(IF($J$1:$J$4=$B$7;ROW($J$1:$M$4));ROW(1:1));1);"")

然后,如果你想添加其他条件,你可以使用*作为"伪AND"所以对于你的两个条件

=IFERROR(INDEX($J$1:$M$4;SMALL(IF(($J$1:$J$4=$B$7)*($K$1:$K$4=$B$8);ROW($J$1:$M$4));ROW(1:1));1);"")

如果需要,可以以相同的方式添加更多条件

这应该可行但是为了增加"健壮性"我会建议这个版本,其中第一个公式在单元格D2中(根据需要进行调整)。

=IFERROR(INDEX($J$1:$M$4;SMALL(IF(($J$1:$J$4=$B$7)*($K$1:$K$4=$B$8);ROW($J$1:$M$4)-MIN(ROW($J$1:$M$4))+1);ROWS(D$2:D2));1);"")