检查单元格中的单词是否出现在列表中...但是单词可能不正确

问题描述

我有一个职位白名单,例如系统工程师

我想检查单元格中是否包含这些词,例如

“系统产品工程师”会很好,它包含“系统”和“工程师”,而实际上具有“产品”并不重要

Systems Manager不能正常运行,因为它仅包含“ Systems”而不是“ Engineer”

使用公式可以吗?

我尝试过:

=IF(MATCH(job title,whitelist of job titles,0),"Yes")

这不起作用

我也尝试过:

= COUNTIF(职位白名单,职位)> 0) 也不起作用

我也尝试过:

=IF(MAX(IFERROR(SEARCH(whitelist of job titles,job title,0))>0,"yes","no")

也无法正常工作

**最后我尝试了:

=SUMPRODUCT(--ISNUMBER(SEARCH(whitelist of job titles,job title)))>0

如果“系统工程师”一词并排出现,但像“系统产品工程师”这样的中间词却无法使用,则这种工作****

最后,我尝试将文本按列划分,以将职称分解为组成词,并在组成词范围内使用这些公式。

非常感谢!

解决方法

如果您的职位白名单位于单个单元格内,则可以检查职位标题是否包含这些单词,但顺序相同。检查一下:

enter image description here

在D1处并向下拖动的公式是:

=IF(COUNTIF(C1;"*"&REPLACE($A$1;" ";"*")&"*")<>0;"Yes";"No")

它有效,但是仅在职务包含相同顺序的单词时。单元格C5和C7包含单词,但顺序相反,并且该公式无法正常工作。您需要按相反的顺序使用白名单,在这种情况下,Engineer Systems

如果您的白名单位于单独的单元格中,则可以将SUMPRODUCT与COUNTIF结合起来对它们进行计数:

enter image description here

D1中的公式并向下拖动为:

=IF(SUMPRODUCT(COUNTIF(C1;"*"&$A$1:$A$2&"*"))=COUNTA($A$1:$A$2);"Yes";"No")

我认为最好的方法是将白名单单词放在单独的单元格中。