提起查找引用函數,大家想到的肯定是Vlookup,其實Vlookup也有很多缺陷,例如多條件查找,逆向查找等。要解決這些問題,還得學習Lookup的變態技巧。
一、查找最後一條符合條件的記錄(單條件查詢)。
通用公式:=LOOKUP(1,0/(條件區域=條件),返回值區域)。
目的:查詢最後一次入庫數量(單條件查找)。
...
方法:
在目標單元格輸入公式:=LOOKUP(1,0/(C4:C10=I4),D4:D10)。
解讀:
1、此公式是LOOKUP的變異公式。也是單條件查詢的通用公式。其原語法結構為:LOOKUP(,查詢值,查詢條件,返回值區域)。
2、首先使用C4:C10=I4得到一組邏輯值,然後使用0除以得到的邏輯值,如果符合條件,就是0/TRUE,返回0 。
3、如果不符合條件,就是0/FALSE,結果就是錯誤值。最終得到一組由0和錯誤值構成的數組。
4、然後使用1作為查詢值,在構成的數組中查找小於等於1的最大值,所以就以0進行匹配,並且返回「返回值區域」對應位置的內容。
二、多條件查詢。
通用公式:=LOOKUP(1,0/(條件區域1=條件1)*(條件區域2=條件2)……(條件區域N=條件N),返回值區域)。
目的:查詢原料在當天的採購單價。
...
方法:
在目標單元格中輸入公式:=IFERROR(LOOKUP(1,0/((C4:C10=I4)*(B4:B10=J4)),E4:E10),"未進貨")。
解讀:
1、利用IFERROR函數判斷公式返回值是不是有錯誤,如果返回值為錯誤,則返回「未進貨」。
2、公式=LOOKUP(1,0/((C4:C10=I4)*(B4:B10=J4)),E4:E10)的查詢和單條件不一樣的就是多條條件查詢,如果兩個條件同時符合,暨TRUE*TRUE ,則返回結果為1,其它形式均返回0。
3、最後使用1作為查詢值進行比較匹配,返回對應的值。
三、逆向查詢(單條件查詢)。
通用公式:=LOOKUP(1,0/(條件區域=條件),返回值區域)。
目的:查詢最後一次入庫日期(單條件查找)。
...
方法:
在目標單元格輸入公式:=LOOKUP(1,0/(C4:C10=I4),B4:B10)。
解讀:
請參閱第一示例的解讀說明。
四、查詢最後一次的入庫日期(單條件查詢)。
通用公式:=LOOKUP(1,0/(條件區域=條件),返回值區域)。
目的:查詢最後一次入庫日期(單條件查找)。
...
方法:
在目標單元格中輸入:=LOOKUP(1,0/(B4:B10<>""),B4:B10)。
解讀:
1、Excel中的不等於用「<>」來表示,B4:B10<>""的意思就是判斷入庫日期是否為空,如果不為空,則返回。
2、此處的條件區域可以根據實際情況的「關鍵字」來決定,如果入庫必須要有日期,日期就是關鍵字,如果必須要有數量,數量就位關鍵字。也就是說必需判斷「關鍵字」是否為空,才能準確的反映出最後的相關記錄。
五、查詢等級。
通用公式:=LOOKUP(查詢值,查詢範圍)。
目的:查詢成績所對應的範圍。
...
方法:
1、選定目標單元格。
2、輸入公式:=LOOKUP(C4,$F$3:$G$6)。
3、Ctrl+Enter填充。
解讀:
1、公式:=LOOKUP(C4,$F$3:$G$6)是LOOKUP函數的基本使用方法,省略了第三個參數。
2、當省略返回值範圍時,默認返回值範圍為查詢值範圍。