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

问题描述 投票:1回答:3

我想做的是以下内容:

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

例:

TAB1

公司名

伟大的鞋子

TAB2

公司名

遵循

公司名

伟大鞋业公司

因此,在上述场景中,我想输入表格tab1中的列tab2和tab3,无论是否存在与是或否的部分匹配。

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

=IF(ISNA(VLOOKUP(B2 "*",'tab2'!$A$2:$A$884,1,FALSE)), "No", "Yes")
excel excel-formula google-sheets google-sheets-query
3个回答
1
投票

regex functions

你可以尝试:

  1. 将所有数据组合在一个表格(A列)中,以简化比较
  2. 使用公式:

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

enter image description here

笔记:

  • 该公式不会给出100%的匹配,你还需要一个人来寻找拼写错误。
  • 该公式将给出所有找到的匹配除以分号
  • 如果未找到匹配项,则单元格将留空
  • 您可以手动将一些关键字添加到列表中,以便将类似的公司名称组合在一起:例如单词“Great”,它将所有具有此单词的公司匹配。
  • 粘贴在B1中并复制下来。

1
投票

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

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

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

你也可以用类似于QUERY的方式使用ISNUMBER(SEARCH。在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)),"")


0
投票

为了简单起见,我同意将所有数据合并为一张表的想法。之后,使用此公式:

FLOOKUP(lookupValue, tableArray, lookupCol, indexNum, threshold, rank)

什么是Flookup?这是一个Google表格附加组件。您可以在附加商店中搜索它,安装并使用它。它允许您查找范围从0%到100%相似性的匹配。从官方网站上了解更多有关使用情况的信息(我不允许在此处发布链接)

© www.soinside.com 2019 - 2024. All rights reserved.