在 Google 表格或 Excel 中,如何搜索相似的值?

In Google Sheets or Excel, how do I search for values that are similar?

我想做的是:

我有一个包含 3 个 sheet 的文件(tab1、tab2 和 tab3)。在每个列中,我都有列名称 "Company Name",在 tab1 中,我有两个特定的列,分别名为 'tab2' 和 'tab3',分别代表 sheet 的 tab2 和 tab3。我想做的是查询 sheet 的 tab2 和 tab3 以查看是否有公司名称与 tab1 的 'Company Name' 列中列出的公司名称 100% 匹配或相似。

示例:

Tab1

公司名称

很棒的鞋子

Tab2

公司名称

很棒

Tab3

公司名称

Greatness 鞋业公司

所以在上述情况下,我想输入 sheet tab1 中的 tab2 和 tab3 列,无论是否存在部分匹配,是或否。

在 Excel 或 Google 表格中执行此操作的最佳公式是什么?我在 Excel 中尝试过,但使用以下公式找到了精度非常低的部分匹配:

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

has regex functions

你可以试试:

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

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

备注:

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

  • 粘贴到B1并复制下来

您可以组合使用 ARRAYFORMULAISNUMBERSEARCH。使用 Max 中的 "great shoes" 示例,如果您的数据位于 B1 中的 A 列中,您可以输入:

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

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

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

您也可以使用 INDEXMATCH。如果您的数据在 B1 的 A 列中,您可以输入类似 =INDEX($A1:$A3,MATCH("Great",$A1:$A3,FALSE)). 的内容 您必须 "copy down" 每行的公式。如果要防止显示 #N/A 错误,请将其全部包装在 IFERROR 公式中。 =IFERROR(INDEX($A1:$A3,MATCH("Great",$A1:$A3,FALSE)),"").