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

excel图表向左查找值的技术

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

=INDEX($B$5:$B$17,MATCH(1088,$D$5:$D$17,0))

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

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

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

=VLOOKUP(1088,CHOOSE({2,1},$B$5:$B$17,$D$5:$D$17),2,0)

主要看看公式中的:

CHOOSE({2,1},$B$5:$B$17,$D$5:$D$17)

被解析为:

{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},则需要将$B$5:$B$17和$D$5:$D$17相交换,即:

=VLOOKUP(1088,CHOOSE({1,2},$D$5:$D$17,$B$5:$B$17),2,0)

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

=VLOOKUP(1088,CHOOSE({1,2,3},$D$5:$D$17,$B$5:$B$17,$C6:C18),3,0)

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

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

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

发表回复