目的
當有很多不同的表時,使用VLOOKUP函數從用戶指定的表中獲取值。
如圖1所示,在名為“東區”的表中存儲著水果及其單價。 圖1
在圖1中,單元格E3是輸入單元格,在其中輸入要查找單價的水果名稱,示例中為“香梨”。 在單元格E4中是查找水果單價的公式: =VLOOKUP(E3,東區,2,TRUE)
可以看出,VLOOKUP函數從“東區”表中獲取了相應的值。
然而,在其他區中水果的售賣價格不一定相同,如圖2所示。 圖2
此時,我們可以再增加一個輸入單元格,用于輸入水果所在的區,如圖3所示。 圖3
接著,更新單元格E4中的公式為: =VLOOKUP(E3,E2,2,TRUE)
但是,得到的確是出錯信息,如圖4所示。 圖4
這表明,VLOOKUP函數不會將單元格中的內容識別為表的名稱。
技巧
實際上,我們此時需要其他函數的輔助,才能達到我們的目的。
技巧:使用INDIRECT函數作為第2個參數 INDIRECT函數將單元格中的文本內容轉換為有效的引用。本例中,會將單元格E2中的文本“東區”轉換成相應名稱的表的區域。
修改單元格E4中的公式為: =VLOOKUP(E3,INDIRECT(E2),2,TRUE)
得到正確結果,如圖5所示。 圖5
將輸入單元格E2的內容修改為“北區”,在單元格E4中將自動更新為北區香梨的單價,如圖6所示。 圖6
結語 在使用VLOOKUP函數時,將INDIRECT函數作為其第2個參數并配合名稱,能夠實現在不同的表中查找數據。 |
|