Excel HLookUp函數(shù)的使用方法,包含首行需排序、返回#N/A及與Match組合/非首行實例
在 excel 中,VLookUp和LookUp函數(shù)用于堅直查找,而HLookUp函數(shù)用于水平查找,它通常在表格第一行查找,但如果選定區(qū)域不包括表格第一行,則不在表格第一行查找。HLookUp函數(shù)的參數(shù)與VLookUp函數(shù)一樣也有四個,它們?nèi)齻€參數(shù)相同,只有一個參數(shù)不同,即一個是返回行號,另一個是返回列號當(dāng)對數(shù)值、字母和邏輯值進行查找且匹配選項設(shè)置為模糊匹配時,需要對查找范圍的第一行排序,否則HLookUp函數(shù)可能返回不正確的結(jié)果;當(dāng)找不到值,HLookUp函數(shù)返回錯誤值。HLookUp函數(shù)可與Match函數(shù)組合使用,以動態(tài)返回不同行的值。
一、excel HLookUp函數(shù)語法
1、表達式:HLOOKUP(LookUp_Value, Table_Array, Row_Index_Num, [Range_LookUp])
中文表達式:=HLOOKUP(查找值, 查找區(qū)域, 返回行號, [匹配選項])
2、說明:
A、LookUp_Value 需要在選定區(qū)域的第一行查找,如果選定區(qū)域不包括表格的第一行,則不是在表格第一行查找;例如選定區(qū)域為 B2:C9,則應(yīng)該在 B2:C2 查找 LookUp_Value,也就是 B2:C2 為第一行,因此千萬不要把表格第一行認為是查找行。
B、如果 Range_Lookup 設(shè)置為 True,Table_Array 第一行的數(shù)值、字母和邏輯值必須從左到右按升序排列,否則 HLookUp 可能返回不正確的數(shù)值;如果 Range_LookUp 設(shè)置為 False,Table_Array 不需排序;Table_Array 中的文本不區(qū)分大小寫。
C、當(dāng) Row_Index_Num 為 1 時,返回 Table_Array 第一行的值;當(dāng) Row_Index_Num 為 2 時,返回 Table_Array 第二行的值;其它的以此類推。如果 Row_Index_Num 小于 1,則 HLookUp 返回值錯誤 #VALUE!;如果 Row_Index_Num 大于 Table_Array 的行數(shù),則 HLookUp 返回引用錯誤值 #REF!。
D、Range_LookUp 為可選項,它有兩個選項,一個為 True(近似匹配),另一個為 False(精確匹配);如果 Range_LookUp 省略或為True,若找不到 LookUp_Value,則返回小于 LookUp_Value 的最大值。 如果 Range_LookUp 為 False,若找不到 LookUp_Value,則返回錯誤值 #N/A。
E、如果 Range_LookUp 設(shè)置為 False 且 LookUp_Value 為文本,則在 LookUp_Value 中可以使用通配符問號(?)和星號(*);問號匹配任意一個字符,星號匹配任意一個或一串字符;如果要查找問號或星號,需要加轉(zhuǎn)義字符~,例如查找問號,應(yīng)該這樣寫 ~?,星號應(yīng)該這樣寫 ~*。
二、Excel HLookUp函數(shù)的使用方法及實例
(一)省略參數(shù) Range_LookUp 的實例
1、假如要在第一行查找“姓名”。雙擊 A9 單元格,把公式 =HLOOKUP("姓名",A1:C9,5) 復(fù)制到 A9,按回車,返回“財務(wù)部”;雙擊 A9,在 5 后加逗號(,),按回車,返回“李秀麗”;雙擊 A9,在逗號后輸入 true,按回車,返回“財務(wù)部”;再次雙擊 A9,把 true 改為false,按回車,返回“李秀麗”;操作過程步驟,如圖1所示:
圖1
2、公式說明:
A、公式 =HLOOKUP("姓名",A1:C9,5) 中,“姓名”為查找值,A1:C9 為查找區(qū)域,5 為返回行號,公式省略了參數(shù) Range_LookUp;公式的意思是,在第一行(指選區(qū)域 A1:C9 的第一行)查找“姓名”,返回第 5 行的值。
B、公式 =HLOOKUP("姓名",A1:C9,5) 與 =HLOOKUP("姓名",A1:C9,5,True) 都返回“財務(wù)部”,說明第三個參數(shù) 5 后不加逗號,參數(shù)Range_LookUp 默認選擇 True;公式 =HLOOKUP("姓名",A1:C9,) 與 =HLOOKUP("姓名",A1:C9,5,False) 都返回“李秀麗”,說明第三個參數(shù) 5 后加逗號,Range_LookUp 默認選擇 False。
(二)參數(shù) Row_Index_Num 小于 1 與大于查找范圍行數(shù)的實例
1、雙擊 A9 單元格,把公式 =HLOOKUP("姓名",A1:C9,0,1) 復(fù)制到 A9,按回車,返回值錯誤 #VALUE!;雙擊 A9,把 0 改為 9,按回車,返回 0;再次雙擊 A9,把 9 改為 10,按回車,返回引用錯誤 #REF!;操作過程步驟,如圖2所示:
圖2
2、公式說明:
公式 =HLOOKUP("姓名",A1:C9,0,1) 中,返回行號 Row_Index_Num 為 0,返回值錯誤 #VALUE!,說明 Row_Index_Num 小于 1 返回值錯誤;當(dāng)把 0 改為 9 后,返回第 9 行的值,也就是返回公式所在行的值,即返回 0;當(dāng)把 9 改為 10 后,Row_Index_Num 已經(jīng)超過選定區(qū)域的最大行數(shù),因而返回引用錯誤。
(三)找不到 LookUp_Value,返回小于 LookUp_Value 的最大值實例(查找范圍第一行需要排序)
1、假如要查找銷量 589。雙擊 B8 單元格,把公式 =HLOOKUP(589,B2:E7,4,TRUE) 復(fù)制到 B8,按回車,返回 679;雙擊 B2,把 539 改為 639,B8 中的返回值變?yōu)?512;操作過程步驟,如圖3所示:
圖3
2、公式 =HLOOKUP(589,B2:E7,4,TRUE) 說明:
B2:E7 為查找范圍,這里的第一行是指 B2:E2(即非表格的首行),也就是在表格的第二行查找 589;由于找不到 589,所以選擇小于等于 589 的最大值 551,然后返回該列第 4 行的值 679;由于這里的 Range_LookUp 參數(shù)設(shè)置為 True,所以查找行 B2:E2 需要從左到右按升序排列,否則可能返回不正確的值,如把 539 改為 639 后,返回值變 512,因為 589 小于 639,返回小于 589 的值只有 467,再返回同列第 4 行的值,所以返回 512。
(四)找不到 LookUp_Value,返回錯誤值 #N/A 實例(查找范圍第一行不需排序)
1、同樣要查找銷量 589。雙擊 B8 單元格,把公式 =HLOOKUP(589,B2:E7,4,FALSE) 復(fù)制到 B8,按回車,返回數(shù)字錯誤值 #N/A;雙擊 B2,把 639 改為 539,B8 中的值仍是 #N/A;操作過程步驟,如圖4所示:
圖4
2、公式 =HLOOKUP(589,B2:E7,4,FALSE) 說明:
第一次執(zhí)行時,查找行 B2:E2 沒有從左到右按升序排列,公式返回錯誤值 #N/A;當(dāng)把 639 改為 539 后,查找行 B2:E2 已經(jīng)按升序排列,但 B8 仍然返回錯誤值 #N/A,說明查找行不管按不按升序排列,當(dāng) Range_LookUp 參數(shù)設(shè)置為 False 時,找不到查找值,HLookUp函數(shù)都返回錯誤值 #N/A,即精確匹配時,查找行不需排序。
(五)查找值有通配符問題(?)和星號(*)的實例
1、查找值有通配符問題(?)
A、假如要查找以任意兩個字開頭且以“襯衫”結(jié)束的銷量。雙擊 B4 單元格,把公式 =HLOOKUP("??襯衫",B1:F3,3,FALSE) 復(fù)制到 B4,按回車,返回 962,操作過程步驟,如圖5所示:
圖5
B、公式 =HLOOKUP("??襯衫",B1:F3,3,FALSE) 中“??襯衫”為查找值,一個問號表示一個字符,意思是以任意兩個字開頭且以“襯衫”結(jié)尾;查找值中有通配符,Range_LookUp 參數(shù)需要設(shè)置為 False。
2、查找值有通配符星號(*)
A、假如要查找以任意字符任意個字開頭且以“T恤”結(jié)尾的銷量。雙擊 B4 單元格,把公式 =HLOOKUP("*T恤",B1:F3,3,FALSE) 復(fù)制到 B4,按回車,返回 640;再次雙擊 B4,把“*T恤”改為“*白*”,按回車,返回 458;操作過程步驟,如圖6所示:
圖6
B、公式 =HLOOKUP("*T恤",B1:F3,3,FALSE) 中“*T恤”為查找值,意思是以任意一個或多個字符開頭且以“T恤”結(jié)尾,D1 和 E1 中的值都符合條件,但 HLookUp函數(shù)選擇第一個符合條件的值,因此返回 640;把“*T恤”改為“*白*”后,B1 和 D1 中的值都符合條件,也選擇第一符合條件的值,所以返回 458。
三、Excel HLookUp + Match 組合與非首行實例
1、假如要查找“白色T恤”的“2月銷量(件)”。雙擊 F8 單元格,把公式 =HLOOKUP($F$7,A1:D5,MATCH($E$8,A1:A5,0),0) 復(fù)制到 F8,按回車,返回 543;右鍵第一行行號 1,在彈出的菜單中選擇“插入”,則在首行插入一行,公式所在的行也自動下移,F(xiàn)8 變 F9,公式中的各引用單元格也自動加 1,F(xiàn)9 中的值仍為 543;操作過程步驟,如圖7所示:
圖7
2、公式 =HLOOKUP($F$7,A1:D5,MATCH($E$8,A1:A5,0),0) 說明:
A、$F$7 為對 F7 單元格的絕對引用,即無論是往下拖還是往右拖,F(xiàn)7 都不會變?yōu)?F8、F9、……或 G8、H8、……,但插入行時,$F$7 會自動變?yōu)?$F$8;$E$8 與 $F$7 是一個意思。
B、MATCH($E$8,A1:A5,0) 是在 A1:A5 中查找 E8(即“2月銷量(件)”),0 表示精確匹配,最后返回 4。
C、則公式變?yōu)?=HLOOKUP("白色T恤",A1:D5,4,0),接著在第一行查找“白色T恤”,在 D1 單元格找到,返回該列第 4 行的值,正好是543;HLOOKUP 公式最后一個參數(shù) 0 表示精確匹配。
D、在首行插入一行后,公式變?yōu)?=HLOOKUP($F$8,A2:D6,MATCH($E$9,A2:A6,0),0),此時查找區(qū)域變?yōu)?A2:D6,第一行也隨之變?yōu)?A2:F2,也就是在表格的第二行查找。
提示:如果要往下拖,公式的 A1:D5 要變?yōu)榻^對引用,即 $A$1:$A$5,公式變?yōu)?=HLOOKUP($F$7,$A$1:$D$5,MATCH($E$8,A1:A5,0),0)。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。