【问题标题】:In Google Sheets or Excel, how do I search for values that are similar?在 Google 表格或 Excel 中,如何搜索相似的值?
【发布时间】:2018-02-21 14:45:49
【问题描述】:

我想做的是:

我有一个包含 3 张纸(tab1、tab2 和 tab3)的文件。在每一个中,我都有列名“公司名称”,在 tab1 中,我有两个名为“tab2”和“tab3”的特定列,它们代表工作表 tab2 和 tab3。我想要做的是查询表格 tab2 和 tab3 以查看是否有公司名称匹配 100% 或类似于 tab1 中的“公司名称”列中列出的名称。

例子:

Tab1

公司名称

好鞋

Tab2

公司名称

很棒

Tab3

公司名称

伟大的鞋业公司

因此,在上述场景中,我想在工作表 tab1 中的 tab2 和 tab3 列中输入是否存在部分匹配的 yes 或 no。

在 Excel 或 Google 表格中执行此操作的最佳公式是什么?我在 Excel 中尝试过,但使用这个公式发现部分匹配的准确率非常低:

=IF(ISNA(VLOOKUP(B2 "*",'tab2'!$A$2:$A$884,1,FALSE)), "No", "Yes")

【问题讨论】:

  • @Jeeped 谢谢!但我认为我正在寻找的是一些不同的东西。我需要找到匹配项,然后在单独的列中打印出“是”或“否”。模糊匹配也只是在插件中找到这些数据;它没有对工作表进行任何更新。不过感谢您的帮助!
  • @CaptainKirk 代替 vlookup 在 Excel 中使用 indexmatch

标签: excel excel-formula google-sheets google-sheets-query


【解决方案1】:

regex functions

你可以试试:

  1. 将所有数据合并到一张表(A 列)中以简化比较
  2. 使用公式:

=TEXTJOIN(";",1,FILTER(A:A,REGEXMATCH(A:A,A1) + REGEXMATCH(A1,A:A),A:A<>A1))

注意事项:

  • 公式没有给出 100% 的匹配,您仍然需要人工来查找拼写错误。
  • 公式将给出所有找到的匹配项除以分号
  • 如果未找到匹配项,则单元格将留空
  • 您可以手动将一些关键字添加到您的列表中,以组合相似的公司名称:例如一个单词“Great”,它匹配所有包含该单词的公司。

  • 粘贴到B1并复制下来。

【讨论】:

    【解决方案2】:

    您可以使用ARRAYFORMULAISNUMBERSEARCH 的组合。使用 Max 的“好鞋”示例,如果您的数据在 B1 中的 A 列中,您可以输入:

    =ARRAYFORMULA(IF(ISNUMBER(SEARCH("Great",A:A))=TRUE,A:A,""))

    这样在 A 列中搜索字符串“Great”。如果找到=TRUE,则返回该单元格中的任何内容。如果没有找到,FALSE,则返回空白""。没有任何需要“复制下来”。您可以修改“if true”和“if false”语句以根据需要修改数据。代替“Great”字符串,您可以放置​​一个单元格引用。

    您也可以以类似于ISNUMBER(SEARCH 的方式使用QUERY。在 B1 你可以输入=QUERY(A:A,"Select A where A contains 'Great'",0)

    您也可以使用INDEXMATCH。如果您的 DATA 在 B1 的 A 列中,您可以输入 =INDEX($A1:$A3,MATCH("Great",$A1:$A3,FALSE)). 之类的内容,您必须“复制”每一行的公式。如果您想防止显示 #N/A 错误,请将其全部包含在 IFERROR 公式中。 =IFERROR(INDEX($A1:$A3,MATCH("Great",$A1:$A3,FALSE)),"").

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-03
      • 2020-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-18
      • 2012-06-04
      • 1970-01-01
      相关资源
      最近更新 更多