逆向查询新路径!!

职场   职场   2024-07-05 09:13   河北  

Excel情报局

职场联盟Excel

生产挖掘分享Excel基础技能
Excel爱好者大本营
用1%的Excel基础搞定99%的职场问题
做一个超级实用的Excel公众号
Excel是门手艺玩转需要勇气
数万Excel爱好者聚集地
SUPER EXCEL MAN


    



大家好,今天我们来继续讲讲Excel“逆向查找”的问题。

由于VLOOKUP函数要求我们被查询值必须位于查询区域的首列,因此在常规情况下,VLOOKUP函数只能实现从左往右方向上的查找;如果被查询值不在查询区域的首列,可以通过手动或者数组运算的方式,强制调换查询区域列的位置,再配合VLOOKUP函数实现最终的逆向查找操作。


如下图所示
A1:B8为省份与地区对照表,A列为省份,B列为地区。即A列位于第1列,B列位于第2列,也就是我们经常说的查询区域。我们想要根据D列的“地区”作为被查询值,在查询区域中查询第1列的“省份”信息并显示在E列。这就是典型的自右向左逆向查找问题



解决这个问题的重点是要了解一个Excel被冷落且不常用的函数CHOOSE函数CHOOSE函数的作用主要是用于根据索引值从一组数据中返回相应位置的数值


CHOOSE函数的基本结构:

=CHOOSE(索引值,参数1,[参数2],…[参数254])


索引值是介于1到254之间的数字或数组,后面的参数可以是数字、文本、单元格引用等。比如:=CHOOSE(3,B1,B2,B3),返回第三个参数B3。很容易理解。如果感觉抽象的话,我们继续看下面的步骤实例。


我们在E2单元格输入函数公式

=CHOOSE({1,2},$B$2:$B$8,$A$2:$A$8)


CHOOSE函数的第1参数,是一个常量数组{1,2},第2参数是B2:B8区域,第3参数是A2:A8区域。第1参数之所以用常量数组{1,2}表示,就是可以先返回第1个区域,即B2:B8区域的值,再返回第2个区域,即A2:A8区域的值,从而重新构建查询区域两列数据的位置。实质就是实现了两列位置的互换。构造出了B列地区数据在前,A列省份数据在后的两列多行的内存数组,内存数组溢出效果如下图所示:



我们再加深一下理解,如果我们将CHOOSE函数的第1参数{1,2}换成{2,1}的话:

=CHOOSE({2,1},$B$2:$B$8,$A$2:$A$8)


想必大家也能理解其变化了:可以先返回第2个区域,即A2:A8区域的值,再返回第1个区域,即B2:B8区的值,从而重新构建查询区域两列数据的位置,数组溢出效果如下图所示:



最后我们只需要嵌套VLOOKUP函数就可以了,用CHOOSE函数作为VLOOKUP函数的第2参数,即查询区域。

=VLOOKUP(D2,CHOOSE({1,2},$B$2:$B$8,$A$2:$A$8),2,0)


CHOOSE函数返回的内存数组,符合VLOOKUP函数要求被查询值必须处于查询区域首列的特征。VLOOKUP函数以D2地区值作为被查询值,在内存数组中查询并返回第2列所对应的省份信息,从而实现逆向查找的目的。



回顾关键内容,善用图片表达,学会建立联系,拓展深度广度,浓缩关键概念,应用到行动中,善于归纳总结,尝试进行分享。

 

 


知识点精彩链接点击阅读

Excel单元格内数据去重/Excel各列数据同步去重
Excel工资条生成模板/157个常用VBA代码模板
Excel提取数字字母汉字/Excel提取字母数字汉字
Excel03~19软件下载/WPS表格19VBA宏功能
全网文字免费复制技巧/提取Excel表格所有图片
再不怕忘记电脑开机密码/Excel正向逆向查询
批量合并所有工作表/材料出入库表格模板分享
卡通风格PPT模板分享/梦幻风格PPT模板分享
vlookup多条件查询/Excel电话号导入通讯录
更多实用内容请在历史文章搜索 

Excel情报局
Excel表格爱好者,分享一些日常的积累。做一个职场人都能看懂的表格技巧公众号。多学一个Excel小技巧,会让你在职场中多一分底气与自信。(同名视频号)
 最新文章