2013-12-18 265 views
2

我正在嘗試將vlookup與max函數配對。出於某種原因,它只會在每次嘗試使用它時都返回#ref。在vlookup中返回最大索引值

我的表如下:

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

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

我想要做的是有一個VLOOKUP去尋找在上校的值A,然後在上校於是例如返回的最高值:

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

我在B1寫了什麼,它失敗:

VLOOKUP(A1,buyAverages,MAX(buyAveragesPrices)) 

那麼如何實現這種查找?我發現的一切是如何使用MAX查找值,但沒有什麼可以在返回的索引上使用max。

+0

你得過且過的行和列? – pnuts

回答

5

嘗試此

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

這是數組公式。也就是說,你必須按按Ctrl + + 輸入

enter image description here

+0

所以,如果我有價格,定期得到更新,我一定要進入每個單元格,然後按Ctrl + Shift + Enter鍵來重新計算每次的名單? – Flynn

+0

不。此刻'A-G'更新,的'I'列(在我的例子)將自動獲得相應的更新。 –

+0

所以這難道不是命名區域合作?它返回的整個範圍內的最高值作爲特定行中反對的最高值。 – Flynn

1

如果有每個產品只能有一個實例,那麼你可以使用INDEX/MATCH這樣

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

更長比希德的建議,但不需要CSE,如果你只有一個匹配,可能會更有效率

如果在Z2這個公式,例如,你可以使用這個版本於從行獲得位置1

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

+0

+ 1越長越好:對 –

+0

正如羅裏說,這不是公式的長度,它是什麼你用它做:) –

+0

是的,我記得那次談話:)該死的..這是一個漫長的時間:) Howz EE現在整流罩是一個天? –

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包括匹配碼來選擇你的產品的名字..