Excel函数检查完整地址的街道名称

我有两张excel表,包含完整的地址和一个包含街道名称。 我需要创build一个查找函数,检查每个完整的地址,看它是否包含另一个表中的街道名称之一。

通常我会使用这个= VLOOKUP或= Countif函数返回一个值,如果单元格存在于查找matrix中,但是它们都检查单元格的全部内容。 而我只需要看看它是否包含特定的部分。

示例单元格将是。

完整地址Sheet1 A1:

阿尔法街道34,虚构城市Zip230

查找Sheet2列A:

阿尔法街

Beta街

试图创build一个函数来检查Sheet1 A1中的string内是否存在Column A Sheet2中的任何string。 如果function不区分大小写更好。

如果发现这个stackoverflow问题,可能会有所帮助:

Excel中:使用数组公式在特定string中searchstring列表?

调整答案中提供的数组公式,我想你可以尝试这样的事情:

=IFERROR(INDEX(streetLookup!$B$1:$B$7,MAX(IF(ISERROR(FIND(streetLookup!$B$1:$B$7,A1)),-1,1)*(ROW(streetLookup!$B$1:$B$7)-ROW(streetLookup!$B$1)+1))),"") 

一些注意事项:

  • 该公式假设地址在列A中,并且有一张名为“streetLookup”的表。
  • 对于查找表,我仅在B列中input街道名称,以便在上面的公式中可以更清楚地看出每个范围涉及的表格。
  • 我对数组公式没有太多的经验,但是在玩这个之后,我发现我必须使用一个定义的范围(即不能只使用整个列)。 我认为这是因为如果范围内有空单元格,公式将无法按预期工作。
  • 既然这是一个数组公式,记得用ctrl + shift + enter

你也可以在countif公式中使用通配符:

=COUNTIF(rng,"*txt*")

这将计算所有范围内包含stringtxt所有单元格。

这个公式应该可以做到这一点:

 =SUMPRODUCT(--ISNUMBER(SEARCH(search_range,lookup_cell)))>0 

其中search_range是您有街道名称的列, lookup_cell是您在该实例中search的单元格。

据我testing,这不区分大小写。