通常,我們使用經典的INDEX/MATCH函數來實現向左查找。如下所示,想要查找凈銷售為1088的銷售人員,顯然是單元格B6中的“John”。
使用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函數的語法。
小結:熟悉各個函數的基本用法,相互配合,往往會得出意想不到的解決方案。