操纵指数和小公式

时间:2017-04-20 15:01:16

标签: excel excel-formula formula

我目前有一个公式设置,它在几行上做索引,如果它包含一个值,它将显示值名称,否则它不会显示任何内容。此示例中的值位于M列中。如果M列不包含值-1,则显示位于列L中的名称。此功能正常工作,如下所示:

{=IFERROR(INDEX(Results!$L$2:Results!$L$8,SMALL(IF(Results!$M$2:Results!$M$8<>-1,ROW(Results!$M$2:Results!$M$8)-1),ROW()-13)),"")}

我想添加到这个公式,以便如果没有使用任何额外的空索引值,它将在另一个范围上再次索引包含要为该组贡献的值的项目(结果Col A和B) 。我测试的例子唯一的问题是,如果行重叠,它会在单元格A的名称上显示单元格M的名称。如何更正此公式以在行下添加而不是重叠?

{=IFERROR(INDEX(Results!$L$2:Results!$L$8,SMALL(IF(Results!$M$2:Results!$M$8<>-1,ROW(Results!$M$2:Results!$M$8)-1),ROW()-13)),IFERROR(INDEX(Results!$A$2:Results!$A$8,SMALL(IF(Results!$B$2:Results!$B$8<>-1,ROW(Results!$B$2:Results!$B$8)-1),ROW()-13)),""))}

结果:

Col A       Col B ..............Col L       Col M
name1        -1                1name          9
name2        -1                2name          5 
name3        2                 3name          7
name4        -1                4name          -1
name5        -1                5name          -1

显示的外观(重叠):

Usernames with value <> -1:
1name
2name
3name

显示应该如何显示(不重叠)

Usernames with value <> -1:
1name
2name
3name
name3

要修复重叠,我需要调整Row() - 13部分以跳过具有值的行。通过这样做,我需要检查非空单元格的数量,并将它们添加到13以不覆盖。但它不起作用。为什么呢?

{=IFERROR(INDEX(Results!$L$2:Results!$L$8,SMALL(IF(Results!$M$2:Results!$M$8<>-1,ROW(Results!$M$2:Results!$M$8)-1),ROW()-13)),IFERROR(INDEX(Results!$A$2:Results!$A$8,SMALL(IF(Results!$B$2:Results!$B$8<>-1,ROW(Results!$B$2:Results!$B$8)-1),ROW()-(COUNTA(A14:A19)+13))),""))}

然而,它在个体细胞中起作用。它似乎不喜欢我在ROW()的子结构中添加。

=COUNTA(A14:A19)+13

0 个答案:

没有答案