2017-06-29 229 views
0

我有一个标题列表(A)和短语列表(B)。对于AI每个标题要检查它是否包含一个短语(词组的任何,我不关心它)从B.Excel:找出单元格是否包含/包含单元格范围内的值

| 1 |-----Example Column A------|----Example Column B----   
| 2 | Head of Marketing  | Senior Developer   
| 3 | Lead Product Engineer | Marketing Manager  
| 4 |  Sales Development  | Sales Development 
| 5 | Senior Marketing Manager |  

在上面的例子,我想知道的是,最后两个单元在列A包含列B中的单元格。

我在网上找到了很多关于如何做相反的例子,用*来查找某个值是否包含在一个范围内。我还发现以下三个例子可以解决类似于我的问题,但是没有一个适合我。

{=MAX(ISNUMBER(SEARCH($B$2:$B$4,A2))+0)}   
{=MATCH(A2,$B$2:$B$4&"*")} 
=IFERROR(LOOKUP(2^15,SEARCH(B:B,A2),B:B),"") 

我也试着写的每个单元格的内容在B柱开始,并用星号(*高级开发人员*等)结束,试图VLOOKUP,SUMPRODUCT,COUNTIF没有成功。

是否有可能做我想要的东西?

稍加修改Mrig公式:

=SUMPRODUCT(ISNUMBER(FIND(B$2:B$4,LOWER(A2)))*1) 

回答

0

试试这个

=SUMPRODUCT(ISNUMBER(FIND($B$2:$B$4,$A2))*1) 

该公式将返回匹配短语的数量。

如果你不想计数,你可以把这个公式放在IF

=IF(SUMPRODUCT(ISNUMBER(FIND($B$2:$B$4,$A2))*1)>0,"Exist","Does Not Exist") 

参考

enter image description here

见图像

编辑:降序排列输出我得到的排序Column A之后是:

enter image description here

+0

感谢Mrig的帮助,它似乎找到了一些比赛。 当我重新创建您的示例时,它会给出正确的答案。但是,当我按降序对列A进行排序时,C列将返回2,2,1,1。 我的现实世界专栏A是60k值,大多数应该有一个匹配,但只有80-2k根据顺序找到匹配。 – baasoti

+0

@baasoti - 请参阅我的答案中的编辑。这是我对“列A”进行排序后得到的输出。是否可以共享样本/虚拟数据,以便我可以重新创建您的问题。 – Mrig

+1

谢谢你回到我身边 - 想出了为什么它没有奏效。 我的排序问题出现了,因为我还对列B(包括一个空白单元格)进行了排序,因此它为列A中的每个单元格添加了1个。 而且它没有找到我的主要数据的所有匹配的原因是因为它包含大写,并且匹配似乎区分大小写。 我已经更新公式为:= SUMPRODUCT(ISNUMBER(找到(Q $ 2:Q $ 343,LOWER(F2)))* 1) 它现在匹配40k(到目前为止我检查过的一切都有意义)。非常感谢你的帮助,真的是在用这个抓我的头! – baasoti

0

将下面的公式中栏下,在柱A的每一行(在C2开始)

=IF(ISNA(INDEX(B$2:B$4,MATCH(A2,B$2:B$4,0))),"","x")

这是一个组合INDEXMATCH的乐趣ctions。 INDEX返回基于计数的范围内的单元格,在这种情况下,该单元格由MATCH函数提供,该函数通过匹配条件字符串来返回数组内单元格的位置。

ISNA函数用于在任何不匹配的单元格中隐藏“N/A”输出,并针对任何匹配单元格显示“x”。

查看here以获得更深入的解释。

UPDATE

按照下面的评论,以查看是否柱A 包含在色柱B的文本(而不是直接匹配),然后使用此公式中COL下每行:

=IF(SUMPRODUCT(COUNTIF(A2,"*" & B$2:B$4 & "*"))>0, "X", "")

+0

感谢您的评论 - 不幸的是,当它恰好等于列B中的一个值时,它似乎只在A列标记'x'。 – baasoti

+0

啊是的。我误解了你询问的内容。查看答案的更新。这也是不区分大小写的。 – garyh

相关问题