2016-08-17 127 views
0

在下面的示例中,A列包含鍵和 B列包含值。excel:查找關鍵字的範圍,查找多個匹配項,返回最後一個匹配項

我想搜索關鍵字 「aaa」,並返回最後一個匹配的值:「aug」。

在這種情況下,有3個「aaa」鍵的實例,但 可能只是1個實例,或許多(未知)數的「aaa」鍵。我總是對最後一場比賽感興趣。

無法添加額外的列。這些列未被排序。

vlookup()返回第一個匹配(「jan」),我無法使其與其他函數一起使用以返回最後一個匹配。

感謝。

  A  B  C ... 

     +-----+-----+ 
    1  | aaa | jan | 
     +-----+-----+ 
    2  | b | feb | 
     +-----+-----+ 
    3  | c | mar | 
     +-----+-----+ 
    4  | aaa | apr | 
     +-----+-----+ 
    5  | d | jun | 
     +-----+-----+ 
    6  | e | jul | 
     +-----+-----+ 
    7  | aaa | aug | 
     +-----+-----+ 
    8  | f | sep | 
     +-----+-----+ 
    9  | g | oct | 
     +-----+-----+ 

回答

0

請寫出下面的數組公式。

=index(B1:B9, max(if(a1:a9="aaa", row(a1:a9))))

然後按CTRL ++進入

+0

如果什麼範圍並不在行1開始?例如,如果我們將範圍A1:A9和B1:B9更改爲例如,您的公式給出了什麼? E6:E14和F6:F14? –

+0

@XORLX,在你的情況下需要'indirect()'。數組公式如下:=(F6:F14,max(if(E6:E14 =「aaa」,row(indirect(「1:」&rows(E6:E14))))))'。事實上,你的回答給了我一個新的教訓。謝謝。 – PaichengWu

+0

實際上使用易失性INDIRECT是沒有必要的。您需要考慮如何推廣您的解決方案,以便將正確的參數傳遞給INDEX作爲row_num, –

2

=LOOKUP(1,0/(A1:A9="aaa"),B1:B9)

問候

相關問題