首页 文章

Excel:查明单元格是否包含/包含一系列单元格中的值

提问于
浏览
0

我有一份职位名单(A)和短语清单(B) . 对于A中的每个 Headers ,我想检查它是否包含来自B的短语(任何短语,我不关心哪个) .

| 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但没有成功 .

有可能做我想要的吗?

Solution

稍微修改了Mrig的公式:

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

2 回答

  • 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

    EDIT: 按降序输出 Column A 排序后,得到的是:

    enter image description here

  • 0

    将以下公式放在col C中col A中的每一行(从C2开始)

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

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

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

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

    UPDATE

    根据下面的注释,为了查看Col A是否包含Col B中的文本(而不是直接匹配),请在col C中为每一行使用此公式:

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

相关问题