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,这不区分大小写。