[Excel]巧用lookup函数解决带特殊符号的查询问题

2019-12-05 15:35:26 2点赞 12收藏 0评论

[Excel]巧用lookup函数解决带特殊符号的查询问题

[Excel]巧用lookup函数解决带特殊符号的查询问题

有关数据查询函数的话题,火箭君也已经提及过多次。但在查询各类信息时,我们总会碰到这样那样的特殊情况,本期我们就来看看如何处理带了特殊符号的单元格,该如何进行查询。

通常情况下,对于一般的信息查询,使用vlookup函数几乎都是能够轻松应对。比如下图中,我们要在A列中搜索E4单元格中的工号,并返回对应B列的姓名。这时只要一个最普通的vlookup就完美解决了。

[Excel]巧用lookup函数解决带特殊符号的查询问题

难题:带特殊符号的查询

[Excel]巧用lookup函数解决带特殊符号的查询问题

上图中,A列的编号中均带有“*”这个符号,因此,即便是在E列的vlookup公式中使用了精确查找模式,依然发生了“找错”的问题。这究竟是为什么呢?

实际上“*”是一个重要的通配符号,因而vlookup函数在工作是将其视作了一个通配符而非一个简单的符号。于是vlookup函数将D4单元格解读成了一个以“SGH021”为起始,又以“1”结尾的字符串。从而导致查询到了错误的结果。

当然这样的问题还不止对于“*”会发生,其他一些特殊符号也会造成查询结果的错误,比如波浪号。

[Excel]巧用lookup函数解决带特殊符号的查询问题

如何解决这个问题?

这时候,就可以邀请Lookup函数出场了。先来看看最终的结果。

[Excel]巧用lookup函数解决带特殊符号的查询问题

在E4单元格中,输入

 =LOOKUP(1,0/(D4=$A$2:$A$9),$B$2:$B$9)

立即完美解决所有艰难困苦。原理是什么呢?

实际上,(D4=$A$2:$A$9)利用D4单元格去比对A2:A9单元格的字符串时,会将字符串中的特殊符号视作普通的字符串。从而得到一个{FALSE,FALSE,FALSE,FALSE,TRUE,FALSE,FALSE,FALSE} 这样的数组。

再用0除以这个数组,则得到{N/A,N/A,N/A,N/A,0,N/A,N/A,N/A}这样的结果。

此时,LOOKUP函数要在这么一个数组中查询一个不大于 1 的位置,但数组中没有1,只能找到0的位置。而0的位置又对应B6单元格。从而最终的到了B6单元格的结果。

应该说,整个Lookup函数在处理这个绝对查询问题时,利用的是等式运算中无视通配符的这一特点。


未经授权,不得转载
展开 收起

Office 365 家庭版

Office 365 家庭版

249元起

《Agenda》Mac数字版软件

《Agenda》Mac数字版软件

暂无报价

《1Password》 ios密码管理软件

《1Password》 ios密码管理软件

暂无报价

《vegas pro 14 edit》视频编辑软件

《vegas pro 14 edit》视频编辑软件

132元起

《Money Pro》 记账理财软件

《Money Pro》 记账理财软件

6元起

用友软件 好会计财务软件专业版追加会计角色1用户/年 畅捷通用友T3网页版 记账宝易代账云会计ERP软件

用友软件 好会计财务软件专业版追加会计角色1用户/年 畅捷通用友T3网页版 记账宝易代账云会计ERP软件

301元起

ps cc2019 零基础自学 视频教程

ps cc2019 零基础自学 视频教程

19.9元起

《Lossless Photo Squeeze(无损图片瘦身)》

《Lossless Photo Squeeze(无损图片瘦身)》

暂无报价
0评论

发表评论请 登录
评论举报

请选择举报理由

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
12
扫一下,分享更方便,购买更轻松