HLOOK函數和VLOOKUP幾乎一樣咯,一個是列查找一個是行查找。
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
lookup_value:為需要在數組第一列中查找的數值
table_array:為需要在其中查找數據的數據區域
col_index_num:為table_array中待返回的匹配值的列序號
range_lookup:近似/精確查找
VLOOKUP(找什麼,在哪個區域找,想要區域的第幾列,近似/精確查找)
Lookup_value可以為數值、引用或文本字符串,文本不分大小寫。Table_array可以使用對區域或區域名稱的引用,
例如資料庫或列表,但查找列一定要為第一列。
Range_lookup是指明函數為近似匹配還是精確匹配,其值可以不輸入或者1,0,TRUE,FALSE。
其中省略或者輸入1,TRUE都為近似匹配。
輸入0或者FALSE為精確匹配。
為了描述簡單和指出細節,案例略有瑕疵不必糾結。
近似查找
近似查找多用於對數值區間的查找,有時候多條件結果比if要簡單。
如圖的稅率為0到1500稅率3%,一直到80000以上是45%,已知工資求稅率。
公式意思為,在C13到D18(下方的工資總額,稅率區域)查找C2的值,結果返回C13到D18(工資稅率區域)的第2列(稅率列)。
還請多多注意中間8999,9000,9001這三個臨界值。(過會兒會說。)
精確查找
精確查找一般是查找文本時所用。
在C3單元格輸入人名,可以對應查找是哪個部門。
公式意思是,在前面的名字部門區域查找C3單元格(人名),返回名字部門區域的第2列(部門列)。
①第二個參數,查找區域中,所以查找列一定要在第一列(因為沒有參數限定),返回列因為有參數所以就隨意咯。
②精確查找不會區分文本的大小寫。
③近似查找中,查找區域第一列一定要升序排列,精確查找隨意。
④近似查找結果會到小於等於的最大值那裡。(所以也表明了升序排列的原因)所以案例中的8999按4500算,9000和9001按9000計算。
⑤若有多個符合條件的情況:vlookup返回的是第一個滿足條件的值。
#REF!:第三個參數(返回的列值)大於前一個參數區域的總列數#N/A:精確匹配沒有找的,近似匹配沒找的比它小的結果錯誤:少年看看是不是區域沒升序,還是滿足條件的太多了?據說,VLOOKUP的函數的精確查找,對於數據量大的查找,其速度比菜單中的查找還快。。。