商务服务
vba 如何从右开始搜索特定字符位置_Excel如何用VLOOKUP函数反向查找?
2024-11-19 03:09

提起Excel的查找函数,我们首先想到的就是VLOOKUP函数,但VLOOKUP函数一般用于正向查找,比如下面这样

vba 如何从右开始搜索特定字符位置_Excel如何用VLOOKUP函数反向查找?

需要你根据学号找到对应的学生姓名。

vba 如何从右开始搜索特定字符位置_Excel如何用VLOOKUP函数反向查找?

我们只需要在目标列输入公式=VLOOKUP(D2,A:B,2,FALSE),就可以查找出对应数据。

vba 如何从右开始搜索特定字符位置_Excel如何用VLOOKUP函数反向查找?

但如果需要我们根据姓名列查找对应的学号,就不能这样直接查找了,因为VLOOKUP函数只能从左往右查找,不能从右往左查找,那么遇到这种情况我们应该怎么做呢?其实最近微软新出了一个函数XLOOKUP,如果用这个函数,很容易就能解决反向查找的问题(XLOOKUP函数具体用法前面文章中已经做出详解,这里不再赘述,但是XLOOKUP函数目前并未普及,所以还得用VLOOKUP函数解决。

既然VLOOKUP函数只能从左往右查找,那我们只需要把姓名列和学号列互换一下就可以用VLOOKUP函数查找了,怎么互换呢?需要嵌套一个数组公式,用IF函数即可。

在目标列输入公式=VLOOKUP(D2,IF({1,0},B:B,A:A),2,FALSE),搞定

vba 如何从右开始搜索特定字符位置_Excel如何用VLOOKUP函数反向查找?

公式解释

相比VLOOKUP函数正向查找公式,这里多了一个IF函数的嵌套,目的是A列数据和B列数据调换顺序,然后再用VLOOKUP函数正向查找。

IF({1,0},B:B,A:A)是一个数组公式,首先判断IF(1,B:B,A:A),返回结果B:B,然后判断IF(0,B:B,A:A),返回结果A:A,然后重新组合,这样最终IF({1,0},B:B,A:A)返回结果就是B:B,A:A,以达到A列数据和B列数据置换的目的。

VLOOKUP函数表达式

=VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)

函数说明:搜索表区域首列满足条件的元素,确定待检索单元格在区域中的行序号,再进一步返回选定单元格的值。默认情况下,表是以升序排列的。

字段解释

lookup_value:查找值

table_array:查找范围

col_index_num:查找目标列序数

range_lookup:查找精度(false或者0表示精确查找,true或者1表示模糊查找

注意:VLOOKUP函数只能查找第一次出现的数据。如果两个学生姓名一样,查找其对应的学号,用VLOOKUP函数查出来的学号会是一样的,因为两次查找查出来的都是第一位学生对应的那个学号。

IF函数表达式

=IF(logical_test,value_if_true,value_if_false)

函数说明:判断是否满足某个条件,如果满足返回一个值,如果不满足返回另一个值。

字段解释

logical_test:测试条件

value_if_true:真值

value_if_false:假值

除了VLOOKUP函数,还有一种方法可以实现数据的反向查找,就是INDEX函数和MATCH函数的嵌套使用,如下

vba 如何从右开始搜索特定字符位置_Excel如何用VLOOKUP函数反向查找?

公式解释:图中E2单元格返回学生王九的学号,先用MATCH函数查找王九的姓名在B列中所在的行序数10,然后再用INDEX函数查找目标区域A、B列中第10行第一列单元格里的内容,即学生王九所对应的学号A0009。

INDEX函数表达式

=INDEX(array,row_num,column_num)

函数说明:在给定的单元格区域中,返回特定行列交叉处单元格的值或引用。

字段解释

array:单元格区域或数组常量。

row_num:数组或引用中要返回值的行序号。如果忽略,则必须有column_num。

column_num:数组或引用中要返回值的列序号。如果忽略,则必须有row_num。

MATCH函数表达式

=MATCH(lookup_value,lookup_array,match_type)

函数说明:返回符合特定值特定顺序的项在数组中的相对位置。

字段解释

lookup_value:在数组中所要查找匹配的值,可以是数值、文本或逻辑值,或者对上述类型的引用。

lookup_array:含有要查找的值的连续单元格区域,一个数组,或是对某数组的引用。

match_type:数字-1、0或1。该参数指定Excel如何将lookup_value与lookup_array中的值匹配。此参数的默认值为1。

vba 如何从右开始搜索特定字符位置_Excel如何用VLOOKUP函数反向查找?

MATCH返回匹配值在lookup_array中的位置,而不是其值本身。例如,MATCH("B",{"A","B","C"},0)返回2,即"B"在数组{"A","B","C"}中的相对位置。

匹配文本值时,MATCH函数不区分大小写字母。

如果MATCH函数查找匹配项不成功,会返回错误值#N/A。

    以上就是本篇文章【vba 如何从右开始搜索特定字符位置_Excel如何用VLOOKUP函数反向查找?】的全部内容了,欢迎阅览 ! 文章地址:http://www78564.xrbh.cn/news/27588.html 
     文章      相关文章      动态      同类文章      热门文章      栏目首页      网站地图      返回首页 迅博思语移动站 http://www78564.xrbh.cn/mobile/ , 查看更多   
最新文章
闲置手机怎么处理?除了以旧换新外,闲置手机有了新去处
随着手机更新换代,不少人家中保存了一些闲置手机,如何处理成为大家头疼的问题,一旦处理不好可能会涉及手机里的隐私泄露。除了
大涨后大跌!“金条还没到手已亏4万多” 金店老板称20年没见过这样的行情
潮新闻客户端 记者 吴恩慧美国大打“关税战”,正引发全球金融市场巨震。“没想到黄金也被拖下水了,本来以为它作为避险资产,应
泰拉瑞亚手机合成树泰拉瑞亚手机合成表「泰拉瑞亚手机合成树」
      从泰拉瑞亚Wiki上扒的手机合成树,对萌新应该有用的,毕竟我刚玩几十个小时的时候都不知道合成东西需要查wiki。以下是
湘潭公积金使用政策优化 代际互助、首付降低等6大利好来了
为更好地满足缴存人刚性和改善性住房需求,加大住房公积金购房支持力度,4月7日,湘潭市住房公积金管理委员会发布《湘潭市住房公
小米云服务64位2.5.3小米手机云服务「小米云服务64位2.5.3」
小米云服务是一款小米集团推出的个人数据存储服务,软件内置在小米品牌手机、平板、电视、IoT等设备中,同时提供Windows及Mac的
明日首班车起,北京15条轨道交通地面高架线路区段停运
新京报讯(记者裴剑飞)记者从北京市交通委获悉,为全力应对大风橙色预警,保障市民安全出行,北京市交通部门已全面进入应急状态
生态环保业推动绿色转型动力强劲
经济日报记者 刘瑾 潘卓然在“双碳”战略引领下,生态环保产业迎来前所未有的发展机遇。在近日举办的第二十三届中国国际环保展览
发烧第二步——JBL 4312E和Melody Super 34的故事(多图,手机流量慎入)手机故事「发烧第二步——JBL 4312E和Melody Super 34的故事(多图,手机流量慎入)」
很久没上SMZDM晒单了,不是不想,只是因为——本DIAO在憋!大!招!………………………………哥这次晒单是冲着分(yi)享(qian
手机、手环、计步器 都是如何知道我们每天走了多少步的?谜底揭晓手机自动计步器「手机、手环、计步器 都是如何知道我们每天走了多少步的?谜底揭晓」
如今,每个人都非常关注健康。不管是出门佩戴手环、计步器,还是拿手机记录行走步数,已经成为很多人的生活习惯。可是,计步器到
极客修已恢复营业 3亿元的案子背后:价格低、质量差、扩张快互联网手机「极客修已恢复营业 3亿元的案子背后:价格低、质量差、扩张快」
《科创板日报》(上海,记者 戚夜云)讯,手机屏幕碎了,电池掉电太快,走官方维修,价格过高,不少用户选择线上下单、线下上门