今日,我们将共同探讨并解决Excel中一个常见的查找函数难题:那就是它们无法识别字母的大小写。无论是经典的vlookup函数,还是经过时间考验的index+match组合,亦或是近年来崭露头角、被誉为查找函数之王的xlookup函数,它们在执行查找操作时,均无法区分字母的大小写。以下是一个直观的例子:当我们尝试查找【Aa-39】时,却意外得到了【AA-39】的结果。今天,我们就来一探究竟,如何解决这一难题。
首先,我们得了解,不仅仅是查找函数,诸如sumif、countif等我们常用的函数,也存在无法识别字母大小写的问题。面对这一挑战,我们可以借助FIND函数来巧妙地解决。下面,让我们先对FIND函数有一个基本的认识。
FIND函数:用于查找字符在字符串中的位置。 语法:=FIND(find_text, within_text, [start_num]) 其中,第一参数是需要查找的字符串;第二参数是查找范围;第三参数是可选的,指定从第几位开始查找,通常可以忽略。
下面,通过一个简单的例子来了解FIND函数的使用方法。如图所示,我们在字符串中查找【A】与【a】的位置。结果显示,大写A位于字符串的第3个位置,而小写a位于第7个位置。
接下来,我们推荐使用LOOKUP+FIND组合来解决查找函数无法识别大小写的问题。具体操作如下:将函数设置为:=LOOKUP(1,FIND(E2,A2:A7),B2:B7)。下面,让我们简单介绍一下这个函数的原理。
第一参数:1,代表查找值; 第二参数:FIND(E2,A2:A7),代表由FIND函数构建的查找区域; 第三参数:B2:B7,代表返回结果的区域。
在此,FIND函数的结果如图所示。若找不到数据,则返回#VALUE!错误值;若找到数据,则返回1这个结果。这也是我们将LOOKUP函数设置为1的原因。这样一来,我们就能根据1返回对应的单元格,得到我们想要的结果。
然而,上述公式只能查找以查找值开头的数据。如果表格中存在两个以查找值开头的数据,我们仍然可能得到错误的结果。如图所示,我们要查找【Aa-39】对应的结果,但函数却返回了【Aa-39WW】对应的结果。那么,如何解决这个问题呢?
我们可以在前面添加一个条件,计算查找值与查找区域的字符数是否相等。如果字符数相等,则返回FIND函数;如果字符数不相等,则返回#N/A错误值。这样一来,公式就变成了:=LOOKUP(1,IF(LEN(D2)=LEN(A2:A7),FIND(D2,A2:A7),NA()),B2:B7)。如图所示,这种方法可以找到正确的结果。相较于上一个函数,这里多了一步,即利用IF函数判断二者的字符数是否相等。
以上就是今天分享的全部内容。我们介绍了两种解决方法,具体选择哪种,需要根据实际数据来决定。当然,第二种方法更为精确。
我是Excel从零到一,关注我,持续分享更多Excel技巧。若想从零开始学习Excel,请点击下方链接:↓↓↓