在excel2007中,LOOKUP函數(shù)可以返回向量(單行區(qū)域或單列區(qū)域)或數(shù)組中的數(shù)值,比如查找某人的電話號(hào)碼,需要查找這個(gè)人的人名,然后返回其電話號(hào)碼。該函數(shù)有兩種語(yǔ)法:向量形式和數(shù)組形式。
★L(fēng)OOKUP函數(shù)的向量形式
向量形式是在單行區(qū)域或單列區(qū)域(稱為“向量”)中查找值,然后返回第二個(gè)單行區(qū)域或單列區(qū)域中相同位置的值。當(dāng)要查詢的值列表(即查詢區(qū)域)較大,或者查詢的值可能會(huì)隨時(shí)間而改變時(shí),一般要使用向量形式, 其語(yǔ)法是:
LOOKUP(lookup_value,lookup_vrector,result_vector)
參數(shù)lookup_value用于設(shè)置要在第一個(gè)向量中搜索的值,它可以是數(shù)字,也可以是文本、邏輯值、名稱或?qū)χ档囊谩?shù)lookup_vector是只包含一行或一列的區(qū)域;result_vector也是只包含一行或一列的區(qū)域,它的大小必須與lookup_vector相同。
在使用向量形式的時(shí)候,需要注意以下幾點(diǎn):
●lookup_vector中的值必須以升序順序放置,否則可能無(wú)法提供正確的值。同樣,在該函數(shù)中不區(qū)分大小寫。
●如果在lookup_vector中找不到lookup_value,則匹配其中小于該值的最大值。
●如果lookup_value小于lookup_vector中的最小值,則返回錯(cuò)誤值#N/A。
★L(fēng)OOKUP函數(shù)的數(shù)組形式
數(shù)組形式是在數(shù)組的第一行或第一列中查找指定的值,然后返回?cái)?shù)組的最后一行或最后一列中相同位置的值。如果要查詢的區(qū)域較小或值在一段時(shí)間內(nèi)保持不變,則一般選擇使用數(shù)組形式。其表達(dá)式為:
LOOKUP(lookup_value,array)
參數(shù)lookup_value就是要查詢的值;array是進(jìn)行查詢和返回的數(shù)組。同樣的,如果找不到對(duì)應(yīng)的值,會(huì)使用數(shù)組中小于或等于lookup_value的最大值。如果lookup_value小于第一行或第一列中的最小值(取決于數(shù)組維度),LOOKUP會(huì)返回#N/A錯(cuò)誤值。
其實(shí),LOOKUP的數(shù)組形式與HLOOKUP和VLOOKUP函數(shù)非常相似。區(qū)別在于,HLOOKUP在第一行中搜索lookup_value,VLOOKUP在第一列中搜索,而LOOKUP根據(jù)數(shù)組維度進(jìn)行搜索。
●如果數(shù)組包含寬度比高度大的區(qū)域(列數(shù)多于行數(shù)),則在第一行中進(jìn)行搜索。
●如果數(shù)組是正方的或者高度大于寬度(行數(shù)多于列數(shù)),則在第一列中進(jìn)行搜索。
●使用HLOOKUP和VLOOKUP函數(shù),可以通過(guò)索引以向下或遍歷的方式搜索,但是LOOKUP函數(shù)始終選擇行或列中的最后一個(gè)值。
例如公式“=LOOKUP("C",{"a","b","c","d";1,2,3,4})",就是在數(shù)組的第行查找字母C,其返回最后一行對(duì)應(yīng)的值,因此這里返回的是“3”。