【问题标题】:Find if any of a list of substrings is present in a string查找字符串中是否存在任何子字符串列表
【发布时间】:2021-01-12 09:02:54
【问题描述】:

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

我创建了一个表格来进行分析,如下所示:

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

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

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)

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

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

【问题讨论】:

  • 你有什么版本的 Excel?另外,您不担心子字符串是较大子字符串的一部分吗?例如 foo 是食物的一部分,最终会返回误报?
  • @JvdV 16.44 版(适用于 Mac)
  • 所以不担心误报?

标签: excel excel-formula find substring


【解决方案1】:

你可以试试:

B2中的公式:

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

这不考虑在较大的子字符串中找到子字符串时可能出现的误报。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-29
    • 2012-05-16
    • 1970-01-01
    • 2021-04-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多