本文总共1302个字,阅读需5分钟,全文加载时间:2.761s,本站办公入门专栏收录该内容! 字体大小:

文章导读:有读者提问:用 vlookup 查找文本时,查找区域中的列明明都是唯一值,可是 vlookup 竟然不能区分英文大小写,导致查找结果不正确。 一筹莫展,何以解忧? 目录内容 ……各位看官请向下阅读:

有读者提问:用 vlookup 查找文本时,查找区域中的列明明都是唯一值,可是 vlookup 竟然不能区分英文大小写,导致查找结果不正确。

一筹莫展,何以解忧?

案例:

下图 1 为公司各产品型号的产品负责人,产品型号区分大小写。

请根据 D 列中列出的型号,在 E 列查找出对应的负责人姓名。

效果如下图 2 所示。

解决方案:

先看一下,如果直接用 vlookup 查找,结果是否正确。

1. 在 E2 单元格中输入以下公式:

=VLOOKUP(D2,A:B,2,0)

查找出来的结果为“王富贵”,但正确的结果应该是“龙淑芬”。

这是因为 vlookup 函数不能区分大小写,根据一对一查找先到先得原则,匹配的结果就是“王富贵”。

2. 下拉复制公式,E3 单元格的查找结果也同样因为大小写不能区分而出错。

看来单纯使用 vlookup 是行不通的,那么我们试试 lookup FIND 函数。

find 函数是区分大小写的,相关的案例详解请参阅 Excel困扰许久的多条件模糊查找,输出不同结果,被find函数搞定

3. 将 E2 单元格的公式修改如下:

=LOOKUP(1,0/find(D2,A:A),B:B)

公式释义:

  • FIND(D2,A:A):在 A 列中模糊查找包含 D2 内容的单元格,并返回 D2 在被查找单元格中的起始位置,结果是一个数字;找不到则返回错误值;
  • 0/...:生成一组数组:分母有值的,即符合上述查找条件的,为 0,其他都为错误值;
  • LOOKUP(1,...,B:B):上述数组中查找 1,找不到的话就一直向下查找,直至最后一个 0 值;在 B 列中找到对应位置的单元格
  • 由于区分大小写的 find 函数的加持,这次正确查找出了结果。

    4. 下拉复制公式,可是 E3 单元格中的结果又不对了。

    这是怎么回事呢?正所谓成也 find,败也 find。

  • find 函数虽然区分大小写,可它是模糊查找的,也就是说,相当于在 A 列中查找 acZD51 开头的所有值,因此红绿框中的值都符合查找结果;
  • 而 lookup 会查找到最后一个 0 值,所以返回结果就是下方的“诸葛钢铁”
  • 那么有没有一种方法既能区分大小写,又能精确查找?

    其实非常简单,只要把 find 函数替换为 exact 就行了。exact 函数的作用是比较两个参数是否完全相等,包括大小写匹配。有关该函数的详解,请参阅

    Excel函数(19)–exact函数检查字符串差异

    5. 在 E2 单元格中输入以下公式 --> 下拉复制公式:

    =LOOKUP(1,0/EXACT(D2,A:A),B:B)

    公式释义:

  • 公式的其他部分与前面一样,不多作解释;
  • 唯一的区别是将 find 换成了 exact,确保能区分大小写、精确查找
  • 很多同学会觉得 Excel 单个案例讲解有些碎片化,初学者未必能完全理解和掌握。不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解 Excel 的各个知识点。

    现在终于有了,本站专栏,从最基础的操作和概念讲起,用生动、有趣的案例带大家逐一掌握 Excel 的操作技巧、快捷键大全、函数公式、数据透视表、图表、打印技巧等……学完全本,你也能成为 Excel 高手。

    想要从零系统学习Excel,查看本站上方“视频教程”获取最新秋叶Office三合一办公应用课程!

    以上内容由优质教程资源合作伙伴 “鲸鱼办公” 整理编辑,如果对您有帮助欢迎转发分享!

    你可能对这些文章感兴趣:

    发表评论

    您的电子邮箱地址不会被公开。 必填项已用*标注