在vlookup中返回最大索引值

时间:2013-12-18 18:34:48

标签: excel max vlookup

我正在尝试将vlookup与max函数配对。出于某种原因,每次我尝试使用它时它只返回#ref。

我的表格如下:

      A  -  B  -  C  -  D  -  E  -  F  -  G
1...
5 - Prod5  id1  $100  $125  $155  $110  $150
6...

答:G被命名为buyAverages C:G被命名为buyAveragesPrices

我想要做的是让vlookup去找Col A中的值,然后返回Col中的最高值。例如:

      A  -  B
1 - Prod5 *return highest price for Prod5

我在B1写的,失败了:

VLOOKUP(A1,buyAverages,MAX(buyAveragesPrices))

那么我该如何实现这种查找呢?我发现的一切都是如何使用MAX作为查找值,但在返回的索引上没有使用max。

3 个答案:

答案 0 :(得分:5)

试试这个

=MAX(IF(A:A="Prod1",C:G))

这是一个数组公式。即你必须按 Ctrl + Shift + Enter

enter image description here

答案 1 :(得分:1)

如果每个产品只有一个实例,那么您可以像这样使用INDEX/MATCH

=MAX(INDEX(C2:G100,MATCH("Prod 1",A2:A100,0),0))

比Sid的建议更长,但不需要CSE,如果你只有一场比赛可能更有效

例如,如果您在Z2中有该公式,则可以使用此版本从第1行获取位置

=INDEX(C1:G1,MATCH(Z2,INDEX(C2:G100,MATCH("Prod 1",A2:A100,0),0),0))

答案 2 :(得分:0)

您可以使用Vlookup和Max使用嵌套公式将所有单元格放在一个单元格中。例如,在页面顶部:

A1 = Select the name of the product you want to find the max

A2= MAX(BUSCARV($A$1;$A$3:$F$11;3;FALSO);BUSCARV($A$1;$A$3:$F$11;4;FALSO)
;BUSCARV($A$1;$A$3:$F$11;5;FALSO);BUSCARV($A$1;$A$3:$F$11;6;FALSO))

它很长但你只需输入一次。使用这个公式,我们得到每列中的所有不同数量,然后我们要求最大值。如果所有产品都不同,它就有效。更改产品名称,您将在表格中找到MAX。

  

示例Prod8

     

Prod8 41;如果我们改变,你在A1 Prod4中选择你   得到70等等..

     

Prod1 id1 100 125 155 110

     

Prod2 50 25 20 75

     

Prod3 60 65 15 90

     

Prod4 70 12 50 43

     

Prod5 100 200 80 25

     

Prod6 20 28 40 40

     

Prod7 14 43 60 80

     

Prod8 22 33 15 41

     

Prod9 65 48 50 70

相应地选择您的范围。

您还可以在A1中添加匹配代码以选择产品名称..