Excel功能检查完整地址中的街道名称

时间:2017-12-06 13:08:43

标签: excel excel-formula vlookup countif

我在Excel中有两张表,包含完整地址,另一张包含街道名称。我需要创建一个查找函数来检查每个完整的地址,看它是否包含另一个工作表中的一个街道名称。

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

示例单元格将是。

Full Adresse Sheet1 A1:

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

查找Sheet2列A:

Alpha Street

Beta Street

...

尝试创建一个函数,检查Sheet A A1中字符串中是否存在Column A Sheet2中的任何字符串。如果函数不区分大小写,那就更好了。

3 个答案:

答案 0 :(得分:1)

如果发现这个可能有用的stackoverflow问题:

Excel: Search for a list of strings within a particular string using array formulas?

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

=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列中,以便在上面的公式中更清楚每个范围所指的工作表。
  • 我对数组公式没有太多经验,但在玩完这个之后我注意到我必须使用一个定义的范围(即不能只使用整个列)。我认为这是因为如果范围内有任何空单元格,公式将无法按预期工作。
  • 由于这是一个数组公式,请记住使用ctrl + shift + enter

答案 1 :(得分:0)

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

=COUNTIF(rng,"*txt*")

这将计算在所需范围内任何位置包含字符串txt的所有单元格。

答案 2 :(得分:0)

这个公式可以解决问题:

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

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

据我测试过,这不区分大小写。