分享

区分字母大小写的查找,VLOOKUP函数无法实现,用这个函数就可以

 满泉ca85upjdlw 2019-10-22

VLOOKUP函数在查找时,查找值必须跟查找区域中第一列的查找对象完全匹配,但有时候会出现一种情况,就是查找值存在字母的时候,很容易忽略大小写,导致结果出错。VLOOKUP函数在查询数据时,无法区分大小写,所以当我们要区分字母大小写的查找时,VLOOKUP函数我们就可以直接排除。

今天跟大家分享2种方法,实现区分字母大小写的数据查询。

例子:下图中,我们要通过E列的产品型号在B:C数据区域中查找对应的价格。

区分字母大小写的查找,VLOOKUP函数无法实现,用这个函数就可以

方法一:使用LOOKUP函数+FIND函数。

FIND函数的定义:返回一个字符串在另一个字符串中出现的起始位置(区分大小写)。

FIND函数语法:=FIND(find_text,within_text,[start_num])

中文意思:=FIND(要查找的文本,文本所在的单元格,从第几个字符开始查找[可选,如果省略默认为1,从第一个开始查找])

区分字母大小写的查找,VLOOKUP函数无法实现,用这个函数就可以

具体操作步骤如下:

1、选中F3单元格,在编辑栏输入公式“=LOOKUP(1,0/FIND(E3,$B$3:$B$6),$C$3:$C$6)” -- 按回车键回车并下拉填充公式至F4单元格。

区分字母大小写的查找,VLOOKUP函数无法实现,用这个函数就可以

2、动图演示如下。

区分字母大小写的查找,VLOOKUP函数无法实现,用这个函数就可以

3、公式解析。

FIND(E3,$B$3:$B$6):如果要查找的文本E3可以在数据区域中找到,则返回数值1,否则返回错误值#VALUE!。所以该公式返回一个数值1和错误值#VALUE!组成的数组{#VALUE!;1;#VALUE!;#VALUE!}。用0除以该数组,得到一个由0和错误值#VALUE!组成的数组{#VALUE!;0;#VALUE!;#VALUE!}。整个公式的意思是:LOOKUP函数忽略错误值进行查找,要在一个由0和错误值#VALUE!组成的数组中查找1,很明显找不到,那就返回最接近于1的值,也就是0,用大于0的数值来查找0,肯定可以查找最后一个满足条件的。所以返回C3:C6数据区域中对应单元格中的内容。

区分字母大小写的查找,VLOOKUP函数无法实现,用这个函数就可以

这里有2点需要注意的是:

(1)FIND函数在进行查找时,总是从指定位置开始,返回找到的第一个匹配字符串的位置,而不管其后是否还有相匹配的字符串。如下图。D2单元格的公式为“=FIND('r',B2,1)”,意思是在字符串“sorry”中,我们要查找字符“r”出现的位置,从第一位开始查找,返回结果是3,而不是4。也就是说FIND函数只返回第一个字符匹配到的位置。

区分字母大小写的查找,VLOOKUP函数无法实现,用这个函数就可以

(2)FIND函数在进行查找时完全区分大小写的。如下图,D2单元格的公式为“=FIND('r',B2,1)”,意思是在字符串“soRry”中,我们要查找字符“r”出现的位置,从第一位开始查找,返回结果是4,而不是3。

区分字母大小写的查找,VLOOKUP函数无法实现,用这个函数就可以

方法二:使用LOOKUP函数+EXACT函数。

EXACT函数定义:比较两个字符串是否完全相同(区分大小写),如果相同,返回TRUE,否则,返回FALSE。

FIND函数语法:=EXACT(text1,text2)

中文意思:=EXACT(字符串1,字符串2)

区分字母大小写的查找,VLOOKUP函数无法实现,用这个函数就可以

具体操作步骤如下:

1、选中F3单元格,在编辑栏输入公式“=LOOKUP(1,0/EXACT($B$3:$B$6,E3),$C$3:$C$6)” -- 按回车键回车并下拉填充公式至F4单元格。

区分字母大小写的查找,VLOOKUP函数无法实现,用这个函数就可以

2、动图演示如下。

区分字母大小写的查找,VLOOKUP函数无法实现,用这个函数就可以

3、公式解析。

0/EXACT($B$3:$B$6,E3):用EXACT函数比较B3:B6数据区域的内容是否跟E3大拿云哥的内容完全相同,如果相同,返回TRUE,否则,返回FALSE。此时会得到一个由TRUE和FALSE组成的数组{FALSE;TRUE;FALSE;FALSE},用0除以该数组,得到一个由0和错误值#DIV/0!组成的数组{#DIV/0!;0;#DIV/0!;#DIV/0!}。整个公式的意思是:LOOKUP函数忽略错误值进行查找,要在一个由0和错误值#DIV/0!组成的数组中查找1,很明显找不到,那就返回最接近于1的值,也就是0,用大于0的数值来查找0,肯定可以查找最后一个满足条件的。所以返回C3:C6数据区域中对应单元格中的内容。

区分字母大小写的查找,VLOOKUP函数无法实现,用这个函数就可以

这里有1点需要注意的是:

Excel在比较两个字符串时,也是区分大小写的。下图中,D3单元格的公式为“=EXACT(B3,C3)”,如果B3跟C3两个单元格的字符串都为大写或者都为小写,并且字符内容完全相等,才返回TRUE,否则都为FALSE。

区分字母大小写的查找,VLOOKUP函数无法实现,用这个函数就可以


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多