我正在尝试将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。
答案 0 :(得分:5)
试试这个
=MAX(IF(A:A="Prod1",C:G))
这是一个数组公式。即你必须按 Ctrl + Shift + Enter
答案 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中添加匹配代码以选择产品名称..