我目前有一个公式设置,它在几行上做索引,如果它包含一个值,它将显示值名称,否则它不会显示任何内容。此示例中的值位于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