利用HLOOKUP函數可以在首行沿水平方向查找指定的值,然后返回同一列中的其他值。例如查找首行中的值“一分部”,假設這個值在第3列,則可以指定返回第3列中的哪一個值。該函數的表達式為
HLOOKUP(lookup_value,table_array,row_index_um,range_lookup)
在該函數中,參數lookup_value用于設定要查找的值,可以是數值,也可以是文本字符串或引用,參數table_array用于設置要在其中查找數據的數據表,這里可以使用區域或區域名稱的引用,參數row_index_um為在查找之后要返回的匹配值的行序號,參數range_lookup是一個邏輯值,用于指明函數在查找時是精確匹配,還是近似匹配。
對于該函數的這些參數,需要做以下說明:
●參數table_array首行的數值可以為文本、數字或邏輯值。
●參數row_index_num的范圍要求在查找的區域內,如果其值小于1,則返回錯誤值#VALUE!;如果值大于查找區域的行數,則返回錯誤值#REF!。
●如果range_lookup取為TRUE,則進行近似匹配,在找不到對應的值時會返回錯誤值#N/A;如果取值為FALSE,進行精確查找,在找不到相同的值時,會返回小于要查找值的最大數值。
●如果range_lookup為TRUE,則table_array的第一行的數值必須按升序排列,即從左到右為:…-2、-1、0、1…、a-z、FALSE、TRUE;否則,函數將無法給出正確的數值。如果range_lookup為FALSE,則table_ array不必進行排序。當然,這里不一定要求所有的數值都存在,比如可以是“2、8、a、d、g”。
●對于文本的查找,該函數不區分其大小寫。如果range_lookup為FALSE且要查找的值是文本,則可以在lookup_value中使用通配符、問號“?”和星號“*”。其中,問號匹配任意單個字符,星號匹配任意字符序列。如果要查找實際的問號或星號,則需要在該字符前加人波形符“~”。