Excel LookUp函數的使用方法,包含基本、多條件與近似查找及簡稱查找全稱實例
在 Excel 中,LookUp函數分為向量形式和數組形式,其中向量形式用于在一列或一行中查找,數組形式用于在數組或多列多行中查找。向量形式可以有三個參數,數組形式只能有兩個參數,一般來說,用數組形式時可以考慮用VLookUp函數或HLookUp函數。
LookUp函數的使用方法分為基本使用方法、多條件查找、近似查找和根據簡稱查找全稱,其中多條件查找可查找滿足兩個以上條件的值,若要根據多條件查找,常常用LookUp函數而不用VLookUP函數,一方面便于寫條件,另一方面執行效率高。
一、excel lookup函數語法
(一)向量形式
1、表達式:=LOOKUP(Lookup_Value, LookUp_Vector, [Result_Vector])
中文表達式:=LOOKUP(查找值, 查找區域, [返回結果區域])
2、說明:
A、參數 LookUp_Vector 是只能包含一行或一列的區域,并且數值必須按升序排列,否則可能返回不正確的值。
B、參數 Result_Vector 為可選項,也是只能包含一行或一列的區域,并且必須與參數 LookUp_Vector 大小相同。
C、如果在查找區域找不到查找值,則LookUp函數將返回查找范圍中小于或等于查找值的最大值。如果查找值小于查找范圍中的最小值,LookUp函數將返回 #N/A 錯誤值。
(二)數組形式
表達式:=LOOKUP(Lookup_Value, Array)
中文表達式:=LOOKUP(查找值, 數組)
2、說明:
(1)如果在數組中找不到查找值,則LookUp函數將返回數組中小于或等于查找值的最大值;如果查找值小于第一行或第一列(由數組維度確定)中的最小值,LookUp函數將返回 #N/A 錯誤值。
(2)LookUp函數的數組形式與VLookUp函數和HLookUp函數的區別:VLookUp函數在第一列中搜索查找值,HLookUp函數在第一行中搜索,而 LookUp函數則根據數組維度搜索,具體情況如下:
A、如果數組列數大于行數,例如 {1,3,5;2,4,6},LookUp函數將在第一行中搜索查找值。
B、如果數組行數大于等于列數,例如 {1,3;2,4;8,10},LookUp函數將在第一列中搜索查找值。
C、使用VLookUp函數和HLookUp函數,可以通過索引向下搜索或遍歷搜索,而LookUp函數始終選擇行或列中的最后一個值;因此,如果用LookUp函數的數組形式,建議選用VLookUp函數或HLookUp函數。
(3)數組中的數值也必須按升序排列,否則可能返回不正確的值。
二、excel lookup函數的使用方法一:向量形式
(一)數值必須按升序排列與在查找區域找不到查找值(查找近似值)的實例
1、假如要根據價格查找銷量。選中 A11 單元格,輸入查找值 80,雙擊 B11,把公式 =LOOKUP(A11,D2:D8,E2:E8) 復制到 B11,按回車,返回 892;框選 D2:D8,選擇“數據”選項卡,單擊“升序”圖標,在打開的“排序提醒”窗口中選擇“擴展選定區域”,單擊“確定”,則每行按“價格”升序排列,B11 中的數值也變為 528;操作過程步驟,如圖1所示:
圖1
2、說明:
公式 =LOOKUP(A11,D2:D8,E2:E8) 中,A11 為查找值,D2:D8 為查找區域,E2:E8 為返回結果區域;第一次返回 892,是不正確的返回值,因為LookUp函數要求數值必須按升序排序,把價格按升序排序后,返回正確的查找值 528,因為如果找不到查找值,LookUp函數將返回查找范圍中小于或等于查找值的最大值(即近似值),79.9 正是這樣的值。
(二)查找值小于查找范圍中的最小值,返回 #N/A 錯誤值實例
服裝最低價格為 38.8,假如要找價格為 35 的服裝銷量。選中 A11 單元格,輸入 35,雙擊 B11,把公式 =LOOKUP(A11,D2:D8,E2:E8) 復制到 B11,按回車,返回 #N/A 錯誤值;操作過程步驟,如圖2所示:
圖2
(三)找不到值返回最后一行的實例
1、假如要在“產品名稱”中查找沒有的名稱“紅色T恤”并返回服裝銷量。雙擊 A11 單元格,輸入“紅色T恤”,再雙擊 B11,把公式 =LOOKUP(A11,B2:B8,E2:E8) 復制到 B11,按回車,返回 897;操作過程步驟,如圖3所示:
圖3
2、“產品名稱”中沒有“紅色T恤”,LookUp函數將返回查找范圍中小于或等于查找值的最大值(即近似值),即返回“粉紅長袖襯衫”對應的銷量 329。漢字按每個字拼音字母排序,“紅”拼音的首字母為 h,“粉”拼音的首字母為 f,在 26 個字母中,f 在 h 前;由于 B 列以“粉”開頭有三個,因此繼續比較第二個字的拼音首字每,它們第二個字都是“紅”,再繼續比較第三個字的拼音首字母,B6 中的“襯”首字母為 c,B7 中“短”首字母為 d,B8 中的“長”(在這里 Excel 把它讀為 Zhang)z,c < d < z,因此“粉紅長袖襯衫”排在最后。
三、Excel LookUp函數的使用方法二:數組形式
(一)查找范圍為數組(列數大于行數)的實例
1、選中 A1 單元格,把公式 =LOOKUP(3,{2,3,5;8,10,15}) 復制到 A1,按回車,返回 10,操作過程步驟,如圖4所示:
圖4
2、公式 =LOOKUP(3,{2,3,5;8,10,15}) 查找值為 3,查找范圍為數組;由于數組的列數大于行數,所以在第一行查找,找到后返回對應列的 10。
(二)查找范圍為單元格(行數大于等于列數)的實例
1、雙擊 A11 單元格,輸入“黑色T恤”;再雙擊 B11,把公式 =LOOKUP(A11,B2:E8) 復制到 B11,按回車,返回 982;雙擊 B11,把 E8 改為 E4,按回車,返回“白色長袖襯衫”;操作過程步驟,如圖5所示:
圖5
2、公式 =LOOKUP(A11,B2:E8) 的查找范圍為 B2:E8,屬于行數大于列數的情況,在第一列查找,在 B8 中找到,然后返回最后一列(即 E 列)對應的值 982;公式 =LOOKUP(A11,B2:E4) 的查找范圍為 B2:E4,屬于行數等于列數(即4行4列)的情況,也在第一列查找,由于沒有找到,所以返回最后一行的值。
四、Excel LookUp函數的使用方法三:擴展應用
(一)多條件查找
1、假如要查找“分類”為“女裝”與價格為 82 的服裝名稱。雙擊 A11 單元格,輸入“女裝”,選中 B11,輸入 82,雙擊 C11,把公式 =LOOKUP(1,0/((C2:C8=A11)*(D2:D8=B11)),B2:B8) 復制到 C11,按回車,返回“粉紅短袖襯衫”,操作過程步驟,如圖6所示:
圖6
2、公式 =LOOKUP(1,0/((C2:C8=A11)*(D2:D8=B11)),B2:B8) 說明:
A、C2:C8=A11 為條件,C2:C8 以數組形式返回 C2 到 C8 的數據,即 {"女裝";"男裝";"女裝";"女裝";"女裝";"男裝;"女裝""};執行時,首先從數組中取出第一個元素“女裝”,它等于 A11(女裝),返回 True,第二次從數組中取出第二個元素“男裝”,它不等于 A11,返回 False;其它的以此類推,最后返回 {TRUE;FALSE;TRUE;TRUE;TRUE;FALSE;TRUE}。
B、同理 D2:D8=B11 返回數組 {FALSE;FALSE;FALSE;TRUE;FALSE;TRUE;TRUE},則 (C2:C8=A11)*(D2:D8=B11) 變為 {TRUE;FALSE;TRUE;TRUE;TRUE;FALSE;TRUE;FALSE;FALSE}*{FALSE;FALSE;FALSE;TRUE;FALSE;TRUE;TRUE},把兩個數組對應元素相乘,相乘時 True 被轉為 1、FALSE 被轉為 0,最后返回 {0;0;0;1;0;0;1}。
C、則 0/((C2:C8=A11)*(D2:D8=B11)) 變為 0/{0;0;0;1;0;0;1},依次用 0 除以數組中的每一個元素,最后返回{#DIV/0;#DIV/0;#DIV/0;0;#DIV/0;#DIV/0;0}。
D、則公式變為 =LOOKUP(1,{#DIV/0;#DIV/0;#DIV/0;0;#DIV/0;#DIV/0;0},B2:B8),接著在數組中查找 1,由于數組中沒有 1,所以返回小于等于 1 的最大值,即返回 0,又因為LookUp函數是選擇符合條件的最后一個值,因此找到第二個 0(即 D6),最后返回 D8 對應的 B 列中的產品名稱 B8,即“綠色T恤”。
提示: 查找范圍為 C 和 D兩列,它們必須按升序排序,具體請參考《Excel排序的11個實例,含多條件、按單元格與字體顏色、圖標、單列、整個表格及如何用快捷鍵與按行排序》一文。
(二)近似查找
1、假如要根據平均分返回每個學生的評定。雙擊 I2 單元格,把公式 =LOOKUP(H2,{0,60,70,80,90;"不及格","及格","中","良","優"}) 復制到 I2,按回車,返回第一個學生的評定“良”;選中 I2,把鼠標移到 I2 右下角的單元格填充柄上,雙擊左鍵,返回剩余學生的評定;操作過程步驟,如圖7所示:
圖7
2、公式說明:
公式 =LOOKUP(H2,{0,60,70,80,90;"不及格","及格","中","良","優"}) 的查找范圍是一個 5 列 2 行的數組;當查找 H2(85.3)時,由于在第一行中找不到,所以選擇小于等于 85.3 的最大值,即選擇 80,然后返回與 80 對應的第 4 列的值“良”;其它的以此類推。
(三)根據簡稱查找全稱
1、假如要根據供應商簡稱查找供應商全稱。當前工作表為“供應商”,單擊“進貨表”切換到該表,雙擊 D2 單元格,把公式 =IFERROR(LOOKUP(1,0/FIND(B2,供應商!A$2:A$7),供應商!A$2:A$7),"") 復制到 D2,按回車,返回 B2 的全稱;選中 D2,把鼠標移到 D2 右下角的單元格填充柄上,雙擊左鍵,則返回剩余服裝的供應商全稱;操作過程步驟,如圖8所示:
圖8
2、公式 =IFERROR(LOOKUP(1,0/FIND(B2,供應商!A$2:A$7),供應商!A$2:A$7),"") 說明
A、“供應商!A$2:A$7”中“供應商”是工作表名稱,A$2 表示對列相對引用對行絕對引用,往下拖時,列和行都不變,即 A2 不會變為 A3、A4、……;A$7 與 A$2 是一個意思;A$2:A$7 以數組形式返回 A2 至 A7 中的數據,即 {"廣州麗新服裝有限公司";"東莞祥宇服裝生產有限公司";"廣州瑞月服裝生產有限公司";"深圳恒興服裝制作有限公司";"深圳尚潔服裝有限公司";"廣州潤萊服裝生產有限公司"}。
B、則 FIND(B2,供應商!A$2:A$7) 變為 FIND(B2,{"廣州麗新服裝有限公司";"東莞祥宇服裝生產有限公司";"廣州瑞月服裝生產有限公司";"深圳恒興服裝制作有限公司";"深圳尚潔服裝有限公司";"廣州潤萊服裝生產有限公司"}),B2 為“東莞祥宇”,用 Find 在數組中查找 B2,找到的返回 1,沒找到的返回值錯誤 #VALUE!,最后返回 {#VALUE!;1;#VALUE!;#VALUE!;#VALUE!;#VALUE!}。
C、則 0/FIND(B2,供應商!A$2:A$7) 變為 0/{#VALUE!;1;#VALUE!;#VALUE!;#VALUE!;#VALUE!},再用 0 除以數組中每個元素,最后返回 {#VALUE!;0;#VALUE!;#VALUE!;#VALUE!;#VALUE!}。
D、則公式變為 =IFERROR(LOOKUP(1,{#VALUE!;0;#VALUE!;#VALUE!;#VALUE!;#VALUE!},供應商!A$2:A$7),""),接著用 LookUp 在數組中查找 1,同樣沒找到選擇小于等于 1 的最大值,即選擇 0(即“供應表”的 A2)。
E、IfError函數用于錯誤處理,如果 LookUp 返回錯誤,則返回空值,否則返回 LookUp 的返回值。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。