excel如何與VLOOKUP函數相反的左向尋找公式

來源:互聯網
上載者:User

   大家知道,在Excel中可以利用VLOOKUP函數根據地區中第一列的某個資料尋找出其他列中對應行的資料。例如,在下圖中要尋找對應“值班日期”為“初五”的“姓名”,可以用公式:

  =VLOOKUP(A6,A1:D7,2,0)

  但VLOOKUP函數只能向右尋找,如果要向左方尋找數值,可以用INDEX函數和MATCH函數的組合公式。例如要尋找上例中“科室”為“財務科”的“姓名”,即通過第4列中的資料在第2列中尋找,可以用下面的公式:

  =INDEX(A2:D7,MATCH(D6,$D$2:$D$7,0),2)

  或:

  =INDEX(B2:B7,MATCH(C6,C2:C7,0))

  或用LOOKUP函數:

  =LOOKUP(1,0/(D2:D7=D6),B2:B7)

  還可以仍然使用VLOOKUP函數:

  =VLOOKUP(D6,IF({1,0},D2:D7,B2:B7),2,)

  上述幾個公式都返回“周伯通”。最後一個公式,VLOOKUP函數的第二個參數“IF({1,0},D2:D7,B2:B7)”返回由一個二維數組,其中D2:D7為第一列,B2:B7為第二列。“IF({1,0},D2:D7,B2:B7)”可看作“{IF(1,D2:D7),IF(0,,B2:B7)}”。用TEXT函數也可返回這樣的數組,如將公式的第二個參數改為“ TEXT({1,-1},D2:D7&";"&B2:B7)”:

  =VLOOKUP(D6,TEXT({1,-1},D2:D7&";"&B2:B7),2,)

  這個公式輸入完畢後,需按Ctrl+Shift+Enter結束。

  如果要尋找“科室”為“財務科”的“值班日期”,即通過第4列資料在第1列中尋找,只需將第一個公式中最後一個參數“2”改為“1”,即可:

  =INDEX(A2:D7,MATCH(D6,$D$2:$D$7,0),1)

  將後幾個公式中的“B2:B7”,改為“A2:A7”即可:

  =INDEX(A2:A7,MATCH(C6,C2:C7,0))

  =LOOKUP(1,0/(D2:D7=D6),A2:A7)

  =VLOOKUP(D6,IF({1,0},D2:D7,A2:A7),2,)

  使用下面的公式可以將“姓名”放到“科室”列左邊的任意位置,公式都會返回正確的結果。

  =INDEX($A$1:$D$7,MATCH(D6,$D$1:$D$7,0),MATCH("姓名",$A$1:$D$1,0))

        :更多精彩教程請關注三聯電腦教程欄目,三聯電腦辦公群:189034526歡迎你的加入

相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。