如何在工作表2中显示参考工作表1中的结果而不在工作表2中插入空白行?

我有一个名为“MAIN”的工作表的工作簿。 MAIN包含名称(col A)电子邮件(col B)和C到F列,其中包含用于识别特定兴趣的代码。 兴趣是北欧中心(Col c)的“NC”,足迹维护的“TM”(col d),滑雪互换(col e)的SS等等。所以一个人可能有兴趣帮助NCSS 。 如果是这样的话,与该人的姓名和电子邮件的行将在列C中的NC和在列E.

我有名为NCTMSS等的工作表(在同一工作簿中)。这些单独的工作表将列出在MAIN工作表中具有这些代码的所有个人的姓名和电子邮件。 我希望这些工作表只列出对特定领域感兴趣的人的名字和电子邮件。

NC工作表中,我有一个公式,如下所示:

 =if(MAIN!C:C="NC",MAIN!A:A,"") 

公式对整个列A有效。此公式将列出工作表NC中所有在MAIN中以列C编码NC人的姓名。 但是,如果一个人没有列出NC ,我会在工作表NC中留下一个空行。 我不希望那空白的线。

例如,如果MAIN中列出的第一个和第三个名称在列C中具有NC ,则NC工作表如下所示:

 name 1 name 3 

我想NC看起来像:

 name1 name3 

我该怎么做呢?

在表格NC A1中,请尝试:

 =IFERROR(INDEX(MAIN!A$1:A$99, SMALL(IF(ISBLANK(MAIN!C$1:C$99),"",ROW(MAIN!C$1:C$99)-MIN(ROW(MAIN!C$1:C$99))+1), ROW(1:1))),"") 

这是一个数组公式,因此input需要Ctrl + Shift + Enter 。 我将这里的范围限制在MAIN表中的99行,因为数组公式可以在应用于大范围时对速度产生不利影响,而且似乎您可能需要至less三次这个公式的一个版本。 但是,如果您确实有超过98个名称,请考虑相应地调整公式中的99

对MAIN中的其他三列中的每一列重复调整引用以适合。 例如对于工作表TM将“C”列引用改为“D”。