谁说VLOOKUP函数不能倒序查找?
点击上方
蓝色
文字 关注我们吧!
送人玫瑰,手有余香,请将文章分享给更多朋友
动手操作是熟练掌握EXCEL的最快捷途径!
熟悉VLOOKUP函数的朋友们都知道它的查找方向是从上到下的,即当有多个符合条件的数据时,公式结果会返回最上面的那一个。
但在实际工作中,有时候会遇到要求从下向上的倒序查找的需求,比如提取最新的报价、查询最新的库存、查询项目最新状态等等。
VLOOKUP函数可以满足上述要求吗?答案当然是肯定的!
其实很简单,如下图,实现了VLOOKUP函数倒序查找。
在单元格F2中输入公式"=VLOOKUP(E2,IF({1,0},T(OFFSET(B1,100-ROW(1:99),)),N(OFFSET(C1,100-ROW(1:99),))),2,FALSE)",CTRL+SHIFT+ENTER回车即可。
思路:
利用OFFSET函数创造了新的内存数组,这个内存数组的第一项是B列(或C列)的第100行,末项是B列(或C列)的第二行
ROW(1:99)部分,实际只需要大于数据区域的行数即可。此部分为此例中的亮点
利用T函数和N函数将内存数组降维,以便VLOOKUP函数使用
利用IF({1,0})重新构建一个新的2列内存数组
最后由VLOOKUP函数返回查询的数据
关于VLOOKUP函数相关的信息,请参看帖子总结-VLOOKUP函数实用终极帖中相关内容。
最优解:LOOKUP函数
虽然上面的例子证明了VLOOKUP函数可以做到倒序查询,但实际工作中我们也很少这样使用。一是因为公式比较复杂,难度比较大;二是因为我们有更好的解决方案:LOOKUP函数!
LOOKUP函数的经典查询公式,不做过多解释!
文章推荐理由:
不同的思路,相同的结果。
-END-
长按下方二维码关注EXCEL应用之家
面对EXCEL操作问题时不再迷茫无助
推荐阅读:
戳原文,更有料!免费模板文档!