分享

每日Excel分享(函数)| 没有什么是一个VLOOKUP查找不了的,如果有,那就用两个VLOOKU...

 L罗乐 2017-08-19


下图表中有两列数据,第一列是手机号码,第而列是姓名,我们需要根据指定的某个号码在这两列中找到对应的姓名,VLOOKUP函数结果如下图:

我们要查找的手机号码“181****5313”对应的姓名明明是“李文新”,可是为什么VLOOKUP函数的结果却是“李华强”呢?这个VLOOKUP函数语法没错啊,确实是精确匹配啊。

对于Excel函数比较熟的朋友可能立刻就会想到,VLOOKUP要查找的条件是“181****5313”,里面有4个星号“*”,而星号在函数中作为条件会默认为通配符,表示任意字符,所以VLOOKUP函数会认为18194935313=181****5313,那么我们要查找这种含有统配符的条件就需要特殊处理一下,在条件前面用&连接符连接“~”,于是聪明的人立刻给出了另一个公式:

公式是改变了,可是结果为什么依然还没有改变,还是原来的结果呢?我们再仔细观察一下数据源就会发现,这些手机号码所在的单元格左上角都有一个绿色的小三角,说明这些数值都是文本型的数值,所以需要将文本型数值转换成数值型的数值,如下面动画:


还有一种情况,数据源里面既有文本型数值,也有数值型数值,我们查找的条件中也是两种数值类型混杂,而且由于涉及多部门,这些数据都不能随便转换格式,这个时候如果仅仅只用一个VLOOKUP函数我们就很难解决问题了,如下图:

因为不能转换数值格式,所以一个VLOOKUP函数确实不好解决,不过既然一个解决不了,那两个总可以了吧,别忘了咱们还有IFERROR函数,可以让我们错了也有一次重来的机会

公式:=IFERROR(VLOOKUP(--D2,$A$2:$B$11,2,0),VLOOKUP(D2&'''',$A$2:$B$11,2,0))

PS:--D2表示将数值类型数值化,D2&''''表示将数值类型文本化。


大家是否觉得这很复杂呢?有没有不需要处理通配符,也不需要转换数值格式的公式呢?答案是有的,请看下图:

公式:=LOOKUP(1,0/(A2:A11=D2),B2:B11)


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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多