前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Excel公式技巧38: 向左查找值的技术

Excel公式技巧38: 向左查找值的技术

作者头像
fanjy
发布2020-07-14 16:17:15
2.1K0
发布2020-07-14 16:17:15
举报
文章被收录于专栏:完美Excel完美Excel

通常,我们使用经典的INDEX/MATCH函数来实现向左查找。如下图1所示,想要查找净销售为1088的销售人员,显然是单元格B6中的“John”。

图1

使用INDEX/MATCH函数组合的公式:

=INDEX(B5:B17,MATCH(1088,D5:D17,0))

很顺利地获得了要查找的结果。

我们知道,VLOOKUP函数通常查找并返回表右侧的值。然而,这里介绍的技术却能让VLOOKUP函数实现向左查找。

这里的关键是使用CHOOSE函数,公式如下:

=VLOOKUP(1088,CHOOSE({2,1},B5:B17,D5:D17),2,0)

主要看看公式中的:

CHOOSE({2,1},B5:B17,D5:D17)

被解析为:

{1592,"Joseph";1088,"John";1680,"Josh";2133,"Jamie";1610,"Jackie";1540,"Johnson";1316,"Jonathan";1799,"Jagjit";1624,"Jairam";726,"Jessy";2277,"Javed";714,"Jimmy";2682,"Juno"}

是一个13行2列的数组。

传递给VLOOKUP函数作为参数table_arry的值,即:

VLOOKUP(1088, {1592,"Joseph";1088,"John";1680,"Josh";2133,"Jamie";1610,"Jackie";1540,"Johnson";1316,"Jonathan";1799,"Jagjit";1624,"Jairam";726,"Jessy";2277,"Javed";714,"Jimmy";2682,"Juno"},2,0)

在第1列中找到1088,返回其对应的第2列中的值“John”。

如果你要使用{1,2},则需要将B5:B17和D5:D17相交换,即:

=VLOOKUP(1088,CHOOSE({1,2},D5:D17,B5:B17),2,0)

将上面的公式扩展应用。现在想要查找净销售为1088的销售人员“John”对应的客户数,可以使用公式:

=VLOOKUP(1088,CHOOSE({1,2,3},D5:D17,B5:B17,

使用CHOOSE函数生成了一个供VLOOKUP函数查找的表,并执行查找返回结果。

注意,CHOOSE函数中第1个参数数组的顺序,一定要确保要查找的值在生成的数组的最左侧,使其符合VLOOKUP函数的语法。

小结:熟悉各个函数的基本用法,相互配合,往往会得出意想不到的解决方案。

注:本文讲解的技术整理自chandoo.org。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-07-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档