excel内查找包含特定字符的列并返回相应的数值
表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&“*”,这个通配符来表示任意字符,只要包含即可。
这情况一般不用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示例图:
=INDEX(SHEET2!A:A,MATCH("*"&A2&"*",SHEET2!B:B,))