vlookup+text实现逆向查询

小伙伴们,大家好。今天要分享的内容是用vlookp+text实现逆向查询。如果excel函数基础好的同学,肯定知道vlookup+if({1,0},..,..)可以实现逆向查询,主要是用if({1,0},..,..)来实现两列数据的位置转换,然后用vlookup查询。其实text也可以转换两列数据的位置,而且最多可以转换4列数据,而if只能转换2列数据。

下面看一个简单的例子,根据姓名逆向查找部门。如果用vlookup+if,公式为=VLOOKUP(D2,IF({1,0},B2:B10,A2:A10),2,)。

=IF({1,0},B2:B10,A2:A10)这部分就是将AB两列的位置置换了一下。如下图所示。

如果用text该如何置换两列数据的位置呢?我们知道text第2参数的格式代码可以用3个分号分隔为4部分,分别是正数,负数,零,文本。正是因为可以分为4部分,所以text最多可以置换4列数据。由于此时我们只需转换2列数据,所以格式代码只需要两部分,也就是这样的样式=text(第1参数,"正数/0;负数")。

当格式代码只有2部分时,第1部分是正数和0,第2部分是负数。所以我们用text({1,-1},"正数;负数")的方式来取得对应的值。=text({1,-1},"正数;负数")返回的结果为{"正数","负数"},如下图所示。1是正数所以返回格式代码的第1部分正数;-1是负数,返回格式代码的第2部分负数。

下面,我们就可以把部门列和姓名列的内容放到text的格式代码中,如下图所示,公式为=TEXT({1,-1},"蒋娜薇;A"),1返回姓名蒋娜薇,-1返回部门A。这样的话就把2列的位置对调了。

但是上一步的姓名和部门是我手写的,为了大家好看。写公式的时候还是要引用单元格的,公式为=TEXT({1,-1},B2&";"&A2),将姓名和部门连接起来作为text的格式代码,中间用分号分隔。此时我们只引用了一个姓名和部门,接下来就要引用多个姓名和部门。

=TEXT({1,-1},B2:B10&";"&A2:A10)这部分就是将上面的一个单元格改为一个区域,用整列姓名连接整列部门。返回的结果如下图所示,发现有一些出错了。这是由一些特殊代码造成的,比如B,D,E。D在text的代码中代表天数。为了解决这个问题,我们需要将这些特殊意义的代码强制转为文本。

=TEXT({1,-1},""""&B2:B10&""";"""&A2:A10&"""")这部分就是强制转为文本,只需在姓名和部门的两侧连接上双引号,返回的结果如下图所示,已经把2列数据置换好了。这里要注意的问题就是双引号的个数,由于text的第2参数中已经有双引号了,要在双引号中加双引号,就是2倍的双引号。这里有点绕,我就把添加的双引号标为红色,大家慢慢理解。

下面还是举一个简单的例子,说下双引号的问题。比如我们要把a和b连接起来,公式为="a"&"b"。如果要把双引号和b连接起来,就要把a替换为2个双引号,如下图红色所示。

说了这么多,终于用text实现了两列数据的转换。接下来就是用vlookup查询了。在E2单元格输入公式=VLOOKUP(D2,TEXT({1,-1},""""&B2:B10&""";"""&A2:A10&""""),2,),按ctrl+shift+enter三键结束。

其实将两列数据或者多列数据置换位置的方法除了if({1,0},..,..),text({1,-1},..,..),choose({1,2,3},..,..,..)之外,还可以用cell+n(if(1,..))+多维引用来实现,只不过有点复杂。

如果你有其他的方法,欢迎在留言区写出你的答案,让我们一起学习。

文件链接:

https://pan.baidu.com/s/1v6v2WpjuMLyK0K26_LqvBw

提取码:sqr9

(0)

相关推荐

  • 使用VBA给单元编写公式

    今天通过按钮来针对单元格的操作 你可以输入内容,也可以填写公式,还可以向下填充,或是选择不带格式填充. 以下是原表,如果学过IF函数可以轻松完成,今天试试有VBA来做一下,也不复杂,主要是学习一下如何 ...

  • 【Excel公式函数】职场人必须学会的公式函数(第一集)

    公众号回复2016   下载office2016 学Excel,就绕不开Excel函数.不过Excel函数有几百个,什么时候能学完? 坦白的说,没有人能把每个函数都学完,毕竟有些函数牵扯到很深很冷门专 ...

  • vlookup函数怎么反向查询

    学习Excel函数,就一定会接触VLOOKUP函数,正常都是从左向右查询,偏偏遇到就是需要从右往左查询,这样反向查询应该怎么做呢?学习本文教程,轻松帮助你解决vlookup函数反向查询的问题. 1.如 ...

  • VLOOKUP&LOOKUP双雄战(四):在横向和逆向查询上的血拼!

    回复[目录]学习113篇Excel教程 全套Excel视频教程,微信扫码观看 编按: 哈喽,大家好!前面说到一直处于下风的LOOKUP,终于在第四回合的较量中,扳回一局.今天比拼的项目是横向和逆向查询 ...

  • Excel 使用技巧 -- 如何使用lookup函数单条件逆向查询

    Excel 使用技巧 -- 如何使用lookup函数单条件逆向查询

  • 结构相同的多列数据逆向查询

    数据源如下图左表所示,现在的要求是根据F2的身份证号查询对应的姓名.提问者说只有一列数据的话,ta会用index+match来做.可是现在有两列数据就不会做了,问该怎么做? -01- 简单粗暴法 首先 ...

  • index和match逆向查询

    index和match逆向查询

  • 逆向查询的这几种常用方法,你最喜欢哪一种?

    下表是某公司员工的信息表,要根据E3单元格的工号逆向查询出对应的姓名.这种查询方式在工作中会经常用到,还不会的小伙伴要赶紧学起来. 方法1:vlookup+if重构数组 在F3单元格输入下面的公式,完 ...

  • 最简单的逆向查询:index+match的黄金搭档

    各位小伙伴们好,之前写的文章可能有点难,看起来也很枯燥.今天还是分享点简单的,还是逆向查询的问题,不过今天的方法比较简单,用的是index+match的黄金组合. 1.根据姓名查询编号 如下图所示,要 ...

  • VLOOKUP乱序字段查询

    点击下方 ↓ 关注,每天免费看Excel专业教程 置顶公众号或设为星标 ↑ 才能每天及时收到推送 个人微信号 | (ID:LiRuiExcel520) 微信服务号 | 跟李锐学Excel(ID:LiR ...

  • 四个公式,逆向查询不用愁

    小伙伴们好啊,今天咱们说说逆向查询的问题. 所谓逆向查询,就是关键字在数据表的右侧,而要得到内容在数据表的左侧. 方法一 使用IF函数重新构建数组. G2使用公式为: =VLOOKUP(F2,IF({ ...

  • 用VLOOKUP实现一对多查询

    小伙伴们好啊,今天老祝和大家说说一对多查询的问题.就是当一个查询值对应多条记录时,如何才能把这些记录全部提取出来呢? 如下图所示,是多个部门的员工信息. 现在,咱们要按部门提取出对应的姓名. 要实现这 ...