查找字符串中是否存在子字符串列表中的任何一个

Find if any of a list of substrings is present in a string

我的问题是我有一长串标题需要根据关键字进行分类。有 10 个类别,每个类别有 2 到 16 个关键字。

我创建了一个 table 来像这样进行分析:

Title cat 1 cat 2 etc.
How to foo the bar
Wax on, wax off

现在我想根据标题是否包含关键字的事实,用 10 填充 table。我将关键字和类别存储在单独的 table 中,如下所示:

cat 1 cat 2 cat 3 etc.
foo on how
bar off
wax

我设法找到了一个有效的公式,但只有在类别范围内 没有空单元格 时它才有效。否则它总会找到一个匹配项。

我使用的公式是:

=IF(SUMPRODUCT(--(NOT(ISERROR(SEARCH([cat 1 2:4];[Title A2])))))>0;1;0)

[]之间的部分当然是伪代码。

有没有办法调整公式,以便我可以为类别使用超大范围,这样我就不必为每个类别调整它们?

你可以试试:

B2中的公式:

=--(SUMPRODUCT(--ISNUMBER(SEARCH(F:INDEX(F:F,COUNTA(F:F)),$A2)))>0)

当在较大的子字符串中找到子字符串时,这没有考虑可能的误报。