您好,欢迎访问一九零五行业门户网

一起聊聊Excel逆向查询问题

本篇文章给大家带来了关于excel的相关知识,其中主要介绍了关于逆向查询的相关问题,就是关键字在数据表的右侧,而要得到内容在数据表的左侧,下面一起来看一下,希望对大家有帮助。
相关学习推荐:excel教程
今天咱们说说逆向查询的问题。
所谓逆向查询,就是关键字在数据表的右侧,而要得到内容在数据表的左侧。
方法一使用if函数重新构建数组。
g2使用公式为:
=vlookup(f2,if({1,0},b2:b10,a2:a10),2,0)
这个公式的用法在之前的内容中咱们曾经讲过,就是用if({1,0},b2:b10,a2:a10),返回一个姓名在前,工号在后的多行两列的内存数组,使其符合vlookup函数的查询值处于查询区域首列的条件,再用vlookup查询即可。
该函数使用比较复杂,运算效率比较低。
与之类似的还有使用choose函数重新构建数组,就是把公式中的if({1,0},部分换成choose({1,2},这个也是换汤不换药而已。
方法二index+match结合。
g2使用公式为:
=index(a2:a10,match(f2,b2:b10,))
公式首先使用match函数返回f2单元格姓名在b2:b10单元格中的相对位置6,也就是这个区域中所处第几行。
再以此作为index函数的索引值,从a2:a10单元格区域中返回对应位置的内容。
这个公式是最常用的查询公式之一,看似繁琐,实际查询应用时,由于其组合灵活,可以完成多个方向的查询。操作灵活方便。
方法三所向披靡的lookup函数。
g2使用公式为:
=lookup(1,0/(f2=b2:b10),a2:a10)
这是非常经典的lookup用法。
首先用f2=b2:b10得到一组逻辑值,再用0除以这些逻辑值,得到由0和错误值组成的内存数组。再用1作为查询值,在内存数组中进行查询。
如果 lookup 函数找不到查询值,则它与查询区域中小于或等于查询值的最大值匹配,因此是以最后一个0进行匹配,并返回a2:a10中相同位置的值。
该函数使用简便,功能强大,公式书写也比较简洁。
如果有多条符合条件的结果,前三个公式都是返回首个满足条件的值,而第四个公式则是返回最后一个满足条件的值,这一点大家在使用时还需要特别注意。
方法四初出茅庐的xlookup函数。
g2使用公式为:
=xlookup(f2,b2:b10,a2:a10)
xlookup函数目前可以在office 365以及excel 2021版本中使用,第一参数是查询的内容,第二参数是查询的区域,查询区域只要选择一列即可。第三参数是要返回哪一列的内容,同样也是只要选择一列就可以。
公式的意思就是在b2:b10单元格区域中查找f2单元格指定的姓名,并返回a2:a10单元格区域中与之对应的姓名。
相关学习推荐:excel教程
以上就是一起聊聊excel逆向查询问题的详细内容。
其它类似信息

推荐信息