如果单元格B1为“x”,则拉出单元格A1,否则忽略

本质上,我试图想出一个公式,只提取数据行中的条件在同一行中的一个单独的列条件满足,条件是一个常数,我知道答案一定是愚蠢的,但我可以不知道。

例如,假设你有这样的数组:

Name Surname Status ------ ------- ------ John Bon Green Jane Dane Red Alex Flex Yellow Romeo Cameo Green Boris Horis Green Julius Dubious Yellow Holy Macaroni Green 

而且,您希望在单独的工作表上的人员列表中,只有处于绿色状态的人员在拖动时没有任何空行。

如果我们的数据在Sheet1的AC ,然后在Sheet2单元格A1中input条件:

绿色

然后在Sheet1单元格D2中input:

 =IF(C2=Sheet2!$A$1,1+MAX($D$1:D1),"") 

并抄下来:

在这里输入图像说明

这个“助手”列“标记”感兴趣的行。

然后回到Sheet2 ,在A2中input:

 =IFERROR(INDEX(Sheet1!A:A,MATCH(ROWS($1:1),Sheet1!D:D,0)),"") 

B2中input:

 =IFERROR(INDEX(Sheet1!B:B,MATCH(ROWS($1:1),Sheet1!D:D,0)),"") 

向下复制这些单元格:

在这里输入图像说明

我已经弄清楚了,永远占了上风。

  =IFERROR(INDEX(INDIRECT("A" & SUM(MATCH(1,COUNTIF(A505, $A$1:$A$463),0),1)):$A$463,MATCH(1,COUNTIF($B$509,INDIRECT("K" & SUM(MATCH(1,COUNTIF(A505, $A$1:$A$463),0),1)):$K$463),0),),"") 

传说:

 A505 = Previous result (Formula written in A506), Variable cell. A1:A463 = Names K1:K463 = Colours 

由于“间接”公式,数组的起始行将在先前的结果之下开始1行。

从这里find与B509所表示的“K”列中的“GREEN”匹配的结果,并拉出起始行下面多less行,然后使用“A”列中的行号查找具有“GREEN”作为其颜色的结果。

如果出现错误,则会将单元格空白。