【问题标题】:Creating a 'Rough Match' Function创建“粗略匹配”函数
【发布时间】:2013-12-10 04:58:26
【问题描述】:

假设我有一组 A1 行中的单词列表......一个(每行一个),并且我有一组句子,我会定期从在线资源中提取。我取其中一个句子并将其拆分,以便从 B 开始的每一列中都有一个单词,直到没有更多单词要插入。现在我使用一个匹配函数,它告诉我 A 列的特定行中的单词何时与句子中的单词匹配(该句子现在跨列 B 向前串起)。这适用于单个单词,但是有没有办法使它适用于多个单词?也就是说,如果我在 A1 行中有一对单词(a,b)......分别有一种方法可以告诉 Excel 找到“粗略”匹配吗?

例子:

我在单元格 Ai 中有单词 apple--fruit 并且单词 apple 和 fruit 出现在 B 列和 C 列中。有没有办法让 Excel 注意到“apple”在单元格 Ai 和产生匹配?如果单元格更难阅读,例如 appledsjfruit 怎么办?

【问题讨论】:

  • 您目前将匹配公式放在哪里? IE。您的结果在哪里?
  • 您已标记此“情绪分析”,这似乎并不适用,以及“VBA”,这似乎没有必要,正如您所描述的问题。我们是否需要更多详细信息才能理解标签?
  • 对 Doug 感到抱歉,我最初发布这篇文章的目的是为了使用情绪分析示例,但我认为上面的示例会简单得多。并且感谢 pnuts,我会检查一下!

标签: excel vba


【解决方案1】:

您不需要 VBA。使用 ctrl-shift-enter 在 D1 中输入 array formula

=SUM(COUNTIF(A1,"*"&B1:C1&"*"))>0

星号是通配符,实际上,数组公式循环遍历B1:C1 中的每个单元格。所以公式说要计算 B1 或 C1 的实例,在 A1 中找到任何文本之前和之后。

【讨论】:

  • 谢谢道格。我不确定我是否理解您为什么选择使用 count if,并且我不确定 * 用于什么,您能否进一步解释一下?
  • 糟糕,这不起作用,或者更确切地说,只有当第一个单元格 B1 匹配时。
  • 我忘记了SUM 部分。现已修复。
猜你喜欢
  • 2019-06-11
  • 2016-04-13
  • 2021-01-25
  • 2022-10-25
  • 1970-01-01
  • 1970-01-01
  • 2014-07-28
  • 2018-10-27
  • 2012-06-19
相关资源
最近更新 更多