转转大师PDF转换器
支持40多种格式转换,高效办公
日常工作中,有关查找的问题非常多:比如说根据姓名查找身份证、根据工号查找职务、根据学号查找成绩等等。
常用的查找类函数包括VLOOKUP、LOOKUP、MATCH等等很多,用法也各不相同,今天咱们主要说说在查找中遇到的一些问题。
常规情况下的查找
如下图所示,要求根据E2单元格的工号在A:C列中查找对应的职务。
用到的公式很简单哈:
=VLOOKUP(E2,A:C,3,)
还不知道VLOOKUP函数怎么用的表亲,可以查看咱们以前的内容,这里咱们就不细说了。
有特殊字符的查找
如下图所示,A列的产品编号中包含多个问号、星号和波形符,要求根据D列的产品编号查询对应的供货商。
如果再用刚才的方法,直接使用VLOOKUP函数,结果明显不对了。
=VLOOKUP(D2, A:B,2,)
虽然VLOOKUP函数使用了精确匹配方式,但返回的是不正确的结果或是错误值#N/A。
原因是什么呢?
VLOOKUP函数将字符中的星号识别为通配符进行查询。
如D2单元格中的产品编号“N42H19.8*5”,即被识别为以“N42H19.8”开头、以5结尾的字符串。并且VLOOKUP函数有多个匹配结果时,只返回第一条内容,因此无法精确查询到需要的结果。
对于含有波形符的查询值,VLOOKUP函数返回错误值#N/A,同样无法实现查询要求。
解决的方法有没有呢?往下看。
可以利用等式中不支持通配符的特点,使用LOOKUP函数完成查询。
=LOOKUP(1,0/(D2=A:A),B:B)
LOOKUP函数的第二参数使用等式,直接比较A2单元格中的产品编号与A列的数据是否相同,巧妙避免了通配符造成的查询错误。
结果如下图:
区分大小写的查找
假如要求区分大小写进行匹配,问题又来了,由于等式不区分大小写,D2和D3单元格的查询结果返回了同样的内容。
话说小芳啊,你咋这么让人不省心呢:
怎么破?往下看:
可以利用FIND 函数区分大小写,并且不允许使用通配符的特点,使用LOOKUP函数和FIND函数的组合拳完成查询。
=LOOKUP(1,0/FIND(D2,A:A),B:B)
结果如下图:
FIND函数返回D2单元格内容在A列中的起始位置。
在本例中,如果A列的内容与D2相同,就返回数字1,否则返回错误值#VALUE!。用0除以数字1和错误值,变成0和错误值。
再用1作为查找值,在其中进行查找最后一个0的位置,并返回B列对应的供货商姓名。
以上就是今天给大家分享的关于Excel表中数据查找的相关问题,有需要的小伙伴们可以好好看看这篇文章,如果需要pdf转txt可以使用topdf转换器。