【问题标题】:Excel Approximate Text Match [closed]Excel近似文本匹配[关闭]
【发布时间】:2013-01-27 02:21:07
【问题描述】:

我正在尝试检查 A 列中有多少字符串与 B 列中的字符串大致匹配。

例子:

如果我在 B 列中有字符串“angry_birds_iph_app”,并且“angry_birds_iph_app”和“angry_birds_adrd_app”出现在 A 列的某处,我希望函数返回 2。

【问题讨论】:

  • ...您必须更具体地说明“近似匹配”的含义 - 唯一的区别是否总是只有“iph”“adrd”?他们总是有相同的开始吗?等等……
  • 不,它们不会总是有相同的开头。我所说的近似匹配意味着> 60%左右的字符串匹配。它可能是 B 列中的 facebook_iph_app,而 facebook_web、facebook_adrd_app 和 facebook_app 出现在 A 列中。在这种情况下,该函数将返回 3 @JohnBus​​tos

标签: string excel match vlookup approximate


【解决方案1】:

查看 Excel 模糊查找加载项。它可以从微软免费下载。该工具实现了 Levenshtein 编辑距离算法以返回行之间的相似度分数。除了其他可自定义的功能外,该工具还允许您设置值必须匹配的阈值才能返回近似结果。

而不是像您提到的那样返回计数,该工具将返回一个表,该表在 A 列中相对于 B 列中的每个条目具有最相似的匹配项。从那里您可以简单地使用过滤器并对结果列执行计数.

http://www.microsoft.com/en-us/download/details.aspx?id=15011

【讨论】:

    【解决方案2】:

    除了Excel Fuzzy lookup 插件之外,还有另一个插件(也是免费下载),它提供了一些可能有用的功能。一个是pwrVLOOKUP,它提供了模糊的vlookup 功能。另一个是pwrSIMILARITY,它会给您一个相似度分数(介于 0 和 1 之间),您可以根据该分数在工作表中进行匹配。用于 Excel 的 PowerUps 加载项适用于 Excel 2003 至 2013。

    这里的页面上发布了一个示例: Example Demo

    【讨论】:

      猜你喜欢
      • 2012-11-21
      • 2020-01-11
      • 1970-01-01
      • 2023-03-20
      • 1970-01-01
      • 2015-10-28
      • 2015-04-14
      • 1970-01-01
      • 2011-05-11
      相关资源
      最近更新 更多