Excel根据其他列的过滤条件选择列

时间:2017-07-14 16:46:49

标签: excel-formula

Name   Skill
Mike  Engineer
Salom  Doctor
Riku   Labour
Sindu  Engineer

我们需要选择谁都是工程师或医生

2 个答案:

答案 0 :(得分:2)

使用COUNTSEARCH。如果D2是您正在搜索的单元格:

=COUNT(SEARCH({"Doctor","Engineer"},D2))

向下拖动此公式以应用于所有行。

result

修改:正如您现在提到的,您要在Result列中打印名称,请将上述公式与IF结合使用,如下所示:

=IF(COUNT(SEARCH({"Doctor","Engineer"},D2)),C2,"")

其中D2是您要搜索的单元格,如果单元格中存在C2Doctor,则Engineer是结果单元格中您需要的单元格D2。向下拖动公式以应用于所有行给出:

result2

答案 1 :(得分:0)

  

您应该接受@ SardarUsama的解决方案作为答案,因为它可以回答您的实际问题。如果您的要求发生变化/延伸,或者您无法将问题正确地提交给其他人,则建议您接受所提供的解决方案,然后提出新问题,而不是让人们更改答案次数。

现在,提出您的问题(根据您与@ SardarUsama' s之间的评论)可能会有所帮助。

Cell C2

中输入以下公式
=IFERROR(INDEX($A$2:$A$10, SMALL(IF(($B$2:$B$10="Engineer")+($B$2:$B$10="Doctor"), ROW($A$2:$A$10)-1, ""), COLUMN(B$1)-COLUMN($A$1))),"")

这是一个数组公式,所以按 Ctrl + Shift + Enter

提交它

否则你可以使用另一个数组公式

=IFERROR(INDEX($A$2:$A$10, SMALL(IF($B$2:$B$10={"Engineer","Doctor"}, ROW($A$2:$A$10)-1, ""), COLUMN(C$1)-COLUMN($B$1))),"")

根据需要拖动/复制。见图片以供参考。

enter image description here