在excel中满足特定条件时,根据列表创建较小的列表

在excel中满足特定条件时,根据列表创建较小的列表,excel,excel-2010,Excel,Excel 2010,我在a栏有一张名单,在B栏有“通过”或“不通过”。我可以在C列中使用什么公式来压缩A列中的列表,以仅反映B列中有相应“失败”的人员的姓名。下面是一个快速示例: A列B列C列的预期结果 乔·帕斯·史蒂夫 史蒂夫·鲍伯 鲍勃·费勒 加里·帕斯 阿尔失败 会过去的 内森山口 提前感谢您。我们将使用“助手”栏 在D1中输入: =IF(B1="Fail",1,"") =IF(B2="fail",1+MAX($D$1:D1),"") =IFERROR(INDEX(A:A,MATCH(ROW(),D:D,

我在a栏有一张名单,在B栏有“通过”或“不通过”。我可以在C列中使用什么公式来压缩A列中的列表,以仅反映B列中有相应“失败”的人员的姓名。下面是一个快速示例:

A列B列C列的预期结果 乔·帕斯·史蒂夫 史蒂夫·鲍伯 鲍勃·费勒 加里·帕斯 阿尔失败 会过去的 内森山口

提前感谢您。

我们将使用“助手”栏

D1中输入:

=IF(B1="Fail",1,"")
=IF(B2="fail",1+MAX($D$1:D1),"")
=IFERROR(INDEX(A:A,MATCH(ROW(),D:D,0)),"")
D2中输入:

=IF(B1="Fail",1,"")
=IF(B2="fail",1+MAX($D$1:D1),"")
=IFERROR(INDEX(A:A,MATCH(ROW(),D:D,0)),"")
然后抄下来

C1中输入:

=IF(B1="Fail",1,"")
=IF(B2="fail",1+MAX($D$1:D1),"")
=IFERROR(INDEX(A:A,MATCH(ROW(),D:D,0)),"")
然后抄下来

以下是一个示例:


让我再试一次。A列:乔、史蒂夫、鲍勃、艾尔、加里、威尔、内森。B列:通过、失败、失败、通过、失败、通过。C列的预期结果:史蒂夫、鲍勃、加里。