如果有多个条件,excel会返回index-small的结果
亲爱的社区,
我目前陷入困境。 我已经与我们的团队build立了一个开发工作跟踪表,使我们能够pipe理和跟踪完成需求和软件发布所需的任务。
对于每个版本,我都有表格,这些表格可以填充表格,其中包含源表单中不同团队成员的释放信息,帮助我们跟踪任务,并包含进一步的自动化图表。 我只认为自己是一个关于excel的padawan,基本上是基于一些谷歌search和试验和错误build立了这张表。 现在让我们来看看细节
表格内容
-
请求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)
请build议可行的方法来解决这个问题。
如果您需要任何进一步的细节,请让我知道。
如果您使用的是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);"")
如果需要,可以以相同的方式添加更多的条件
这应该工作正常,但为了增加“健壮性”,我会build议这个版本,其中第一个公式是在单元格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);"")