HLOOKUP函數查找表的第一行中的值,返回該表中與找到的值在同一列的另一個值。
什么情況下使用HLOOKUP?
HLOOKUP函數可以在查找行中找到精確匹配值,或者近似匹配值。因此,該函數能夠:
找到所選區域中的銷售總額
查找所選日期對應的有效利率
HLOOKUP函數的語法
HLOOKUP(lookup_value,table_array,row_index_num,range_lookup)
§ lookup_value: 想要查找的值 — 可以是值,或者單元格引用。
§ table_array: 查找表 — 可以是2列或多列單元格區域引用或者單元格區域名稱。
§ row_index_num: 想要返回的值所在的行,基于表中的行號。
§ [range_lookup]: 對于精確匹配,使用FALSE或者0;對于近似匹配,使用TRUE或者1,查找值所在行以升序排列。
HLOOKUP函數陷阱
與VLOOKUP函數相似,HLOOKUP函數比較慢,特別是在沒有排序的表中執行文本字符串匹配且需要精確匹配時。盡可能使用第一行按升序排序過的表,且使用近似匹配。可以使用MATCH函數或者COUNTIF函數首先檢查值,確保該值在表的第一行。
其它函數,諸如INDEX函數和MATCH函數,能用于從表中返回值,并且更有效率。在其它的文章中會介紹這些函數,會看到它們的靈活與強大。
示例1:找到所選區域中的銷售量
HLOOKUP函數在查找表頂部行中查找值。本例中,查找所選區域中的銷售量。重要的是獲得正確的數量,因此使用下面的設置:
§ ?在單元格B7中輸入區域名
§ ?區域查找表有兩行,位于單元格區域C2:F3
§ ?銷售量位于表中的第2行
§ ?最后一個參數設置為FALSE,以找到查找值的精確匹配
在單元格C7中的公式為:
=HLOOKUP(B7,C2:F3,2,FALSE)
如果在查找表的第一行沒有找到區域名,HLOOKUP公式的結果是#N/A。
示例2:查找所選日期相應的利率
通常,在使用HLOOKUP函數時需要精確匹配,但是有時近似匹配會更好。例如,如果在每季度的開始利率會變化,僅輸入這些日期作為列標題。然后,使用HLOOKUP和近似匹配,可以找到與日期相應的有效的利率。在本例中:
§ 在單元格C5中輸入日期
§ 查找表有兩行,位于單元格區域C2:F3
§ 查找表按日期行以升序排序
§ 利率在表的第2行
§ 最后一個參數使用TRUE,查找與所查找值近似匹配的值
在單元格D5中的公式為:
=HLOOKUP(C5,C2:F3,2,TRUE)
如果在查找表的第一行中沒有找到日期,那么HLOOKUP公式的結果是小于且與lookup_value接近的最大值。在本例中,查找值是3月15日。該值不在日期行中,因此返回1月1日所在列對應的值(0.25)。