简体   繁体   English

INDEX MATCH 有 2 个条件,与部分文本匹配

[英]INDEX MATCH with 2 criteria, match with partial text

My data looks like this:我的数据如下所示:

C.............F.............. H

Jane......Blue..........NON

Bob........Blue..........OUI

Jack.......Red..........OUI

Sarah.....Blue..........OUI

John ......Blue.........NON

Claude......Blue.........(empty)

This formula is gonna look in column C if the person has BLUE and OUI.如果此人有 BLUE 和 OUI,则此公式将在 C 列中查找。

=IFERROR(INDEX($C$9:$C$514;MATCH(1;("BLUE"=$F$9:$F$514)*("OUI"=$H$9:$H$514);0));"AUCUN")

Output Bob输出Bob

Then, I have this for the second match =IFERROR(INDEX($C$9:$C$514;SMALL(IF($H$9:$H$514="OUI";IF($F$9:$F$514="BLUE";ROW($F$9:$F$514)-ROW(INDEX($F$9:$F$514;1;1))+1));2));"AUCUN")然后,我在第二场比赛中有这个=IFERROR(INDEX($C$9:$C$514;SMALL(IF($H$9:$H$514="OUI";IF($F$9:$F$514="BLUE";ROW($F$9:$F$514)-ROW(INDEX($F$9:$F$514;1;1))+1));2));"AUCUN")

Output Sarah输出Sarah

However, I would want the field "OUI" to be a partial text match.但是,我希望字段“OUI”是部分文本匹配。 So whenever it finds the letter "O", it would return a match.所以每当它找到字母“O”时,它都会返回一个匹配项。

So the first match would be Jane , the second match would be Bob .所以第一场比赛是Jane ,第二场比赛是Bob I tried replacing "OUI" by "*O*" but it tells me that nothing was found.我尝试用"OUI" "*O*"替换"OUI" ,但它告诉我什么也没找到。

If one has the Dynamic Array formula FILTER:如果有动态数组公式过滤器:

=FILTER(C2:C6,(F2:F6="BLUE")*(ISNUMBER(SEARCH("O",H2:H6))))

在此处输入图片说明


If not then use INDEX(AGGREGATE())如果没有,则使用 INDEX(AGGREGATE())

=IFERROR(INDEX(C:C,AGGREGATE(15,7,ROW($F$2:$F$6)/(($F$2:$F$6="BLUE")*(ISNUMBER(SEARCH("O",$H$2:$H$6)))),ROW($ZZ1))),"AUCUN")

在此处输入图片说明

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM