excel内查找包含特定字符的列并返回相应的数值

有表1和表2
表1A列是姓名,B列是身份证号
表2A列是案号,B列是案件名称(包含姓名和其他字符)
现在要求在表2B列内查找包含表1A列姓名的案件并返回相应的案号(表2A列),求函数的写法,我用lookup失败了

excel内查找包含特定字符的列并返回相应的数值的具体操作方法如下:

1.简单的举个例子,例子简单但很形象,能够了解函数的用法就可以了。

2.那么我们在C列中输入函数vlookup匹配函数,找出存在的项目并显示出来;第一列是A1然后用逗号隔开,就可以点击提示的第二个参数;第二个参数我们直接点击第二列即B列。

3.然后逗号隔开,选择下个参数,第三个参数是1;第四个参数是精确与模糊匹配的概念,我们这里选择0或false,精确匹配。

4.我们可以选择往下拉,也可以选中第一个单元格右下角出现+字后双击,数目应于第一列相同。

5.我们可以看到C列中都存在数据,说明A列在B列中都存在,如果不存在那么现实#value,就是无法显示的意思;

6.在模糊匹配的时候要用到*号,B列是12345678,A列是345,那么我们可以写成“*”&A&“*”,这个通配符来表示任意字符,只要包含即可。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-01

这情况一般不用VLOOKUP,改用INDEX函灵数,在SHEET1的C1输入公式下拉:


=INDEX(Sheet2!A:A,MATCH("*"&A2&"*",Sheet2!B:B,))


如果一定要用VLOOKUP函数的,公式应这样写:

VLOOKUP("*"&A2&"*",IF({1,0},Sheet2!B$2:B$999,Sheet2!A$2:A$999),2,)


还可以加入防错判断,当公式下拉时,遇上A列数据为空白,或是A列的数据不存在于SHEET2!的B列中时,公式也返回空白值,以上的公式会返回错误值。


INDEX加入防错:

=IF(COUNTIF(Sheet2!B:B,"*"&A2&"*")*(A2<>""),INDEX(Sheet2!A:A,MATCH("*"&A2&"*",Sheet2!B:B,)),"")


VLOOKUP加入防错:

=IF(COUNTIF(Sheet2!B:B,"*"&A2&"*")*(A2<>""),VLOOKUP("*"&A2&"*",IF({1,0},Sheet2!B$2:B$999,Sheet2!A$2:A$999),2,),"")


我把文件传上来,请点击这回答右下角绿色的“点击下载”按钮,下载文件看看效果。

INDEX函数示例图:


VLOOKUP示例图:


本回答被提问者采纳
第2个回答  2013-08-01
使用模糊查找函数
第3个回答  2013-08-01
参考公式:
=INDEX(SHEET2!A:A,MATCH("*"&A2&"*",SHEET2!B:B,))
相似回答