我在Excel中有两张表,包含完整地址,另一张包含街道名称。我需要创建一个查找函数来检查每个完整的地址,看它是否包含另一个工作表中的一个街道名称。
通常我会使用this = VLOOKUP或= Countif函数来返回一个值,如果单元格存在于查找矩阵中,但它们都会检查单元格的整个内容。而我只需要查看它是否包含特定部分。
示例单元格将是。
Full Adresse Sheet1 A1:
阿尔法街34号,虚构城市Zip230
查找Sheet2列A:
Alpha Street
Beta Street
...
尝试创建一个函数,检查Sheet A A1中字符串中是否存在Column A Sheet2中的任何字符串。如果函数不区分大小写,那就更好了。
答案 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))),"")
一些注意事项:
答案 1 :(得分:0)
您也可以在countif
公式中使用通配符:
=COUNTIF(rng,"*txt*")
这将计算在所需范围内任何位置包含字符串txt
的所有单元格。
答案 2 :(得分:0)
这个公式可以解决问题:
=SUMPRODUCT(--ISNUMBER(SEARCH(search_range,lookup_cell)))>0
其中search_range
是您拥有街道名称的列,而lookup_cell
是您在该实例中搜索的单元格。
据我测试过,这不区分大小写。