VLOOKUP函數 (以下說明來自 Microsoft Excel 說明)
在表格陣列的第一欄中搜尋某個數值,並傳回該表格陣列中同一列之其他欄中的數值。

VLOOKUP 中的「V」代表「垂直」。當您比對的數值位於您想要尋找的資料左方的某一欄中時,請使用 VLOOKUP,而非 HLOOKUP。

語法
VLOOKUP(Lookup_value, Table_array, Col_index_num, Range_lookup)

Lookup_value
在表格陣列 的第一欄中搜尋的數值Lookup_value 可以是數值,也可以是參照位址。當 lookup_value 小於 table_array 第一欄中的最小值時,VLOOKUP 將會傳回錯誤值 #N/A。
(陣列:用來建立產生多個結果或運算一組以列及欄排列之引數的單一公式。陣列範圍共用一個公式;一個陣列常數是用作一個引數的一組常數。)

Table_array
兩欄以上的資料。請使用參照位址來指向某個範圍或範圍名稱。table_array 第一欄中的值即為 lookup_value 所搜尋的值。這些值可以是文字、數字或邏輯值 (不分大小寫)。

Col_index_num
table_array 中的欄號;相符的值將從該欄中傳回。如果 col_index_num 引數值為 1,則傳回 table_array 第一欄中的值;如果 col_index_num 引數值為 2,則傳回 table_array 第二欄中的值,依此類推。 如果 col_index_num:小於 1,則 VLOOKUP 會傳回錯誤值 #VALUE!。大於 table_array 中的欄數,則 VLOOKUP 會傳回錯誤值 #REF!。

Range_lookup
    一個邏輯值,用來指定 VLOOKUP 應該要尋找完全符合還是部分符合的值:
  1. 如果此引數值為 TRUE 或被省略了,則傳回完全符合或部分符合的值。如果找不到完全符合的值,將會傳回僅次於 lookup_value 的值。 在此情況下,table_array 第一欄中的值必須以遞增順序排序;否則,VLOOKUP 可能無法提供正確的值
  2. 如果此引數值為 FALSE,則 VLOOKUP 函數只會尋找完全符合的值。在此情況下,table_array 第一欄中的值便不需要排序。如果 table_array 第一欄中有兩個以上的值與 lookup_value 相符,將會使用第一個找到的值。如果找不到完全符合的值,則傳回錯誤值 #N/A。

註解
  1. 在 table_array 的第一欄中搜尋文字值時,請確認 table_array 第一欄中的資料不得包含前置空格、尾隨空格、不成對的標準引號 ( ' 或 " ) 和波浪形引號 ( ‘ 或 “) 以及非列印字元。否則,VLOOKUP 可能會提供錯誤或與預期不符的值。如需進一步瞭解有哪些函數可以用來「清理」文字資料,請參閱文字和資料函數。
  2. 搜尋數字或日期值時,請確認 table_array 第一欄中的資料並未儲存為文字值。否則,VLOOKUP 可能會提供錯誤或與預期不符的值。如需詳細資訊,請參閱將儲存成文字的數值轉換成數值。
  3. 如果 range_lookup 為 FALSE 且 lookup_value 為文字,則您需要在 lookup_value 中使用萬用字元、問號 (?) 和星號 (*)。問號可替代任一字元;星號可替代任一系列的字元。如果您確實要尋找實際的問號或星號,請在該字元前鍵入波狀符號 (~)。



HLOOKUP函數 (以下說明來自 Microsoft Excel 說明)
在一陣列 (陣列:用來建立產生多個結果或運算一組以列及欄排列之引數的單一公式。陣列範圍共用一個公式;一個陣列常數是用作一個引數的一組常數。)或表格的第一列中尋找含有某特定值的欄位,再傳回同一欄中某一指定儲存格中的值。如果所有用來比對的數值位於表格的第一列中,而您想要的值是在此比對值列下方的列中,那麼您就必須使用 HLOOKUP 函數;相對的,如果用來比對的數值位於您所要尋找的資料之左邊欄時,則必須使用 VLOOKUP 函數。

H 在 HLOOKUP 中表示 "水平"。

語法

HLOOKUP(lookup_value,table_array,row_index_num,range_lookup)
Lookup_value
在表格第一列中搜尋的值。lookup_value 可以是數值、參照位址或文字串。

Table_array
是要在其中搜尋資料的資料表格。通常此引數是個儲存格範圍的參照位址或範圍名稱。
  1. Table_array 第一列中的值可以是文字、數字或邏輯值。
  2. 如果 range_lookup 為 TRUE,則 table_array 第一列中的數值必須按照遞增次序排列:...-2,-1,0,1,2,...,A-Z,FALSE,TRUE;否則 HLOOKUP 函數找出的值不一定正確。如果 range_lookup 為 FALSE,table_array 就不須排序。
  3. 字母的大小寫被視為是相同的。
  4. 要將值按遞增的次序排列:請先選取要排序的數值,按一下 [資料] 功能表上的 [排序] 指令,按一下 [選項],按 [循列排序] 然後再按 [確定];在 [主要鍵] 之下,按一下清單中的列,再按 [遞增]。
Row_index_num
是個數字,代表所要傳回的值位於 table_array 列中的第幾列。如果 row_index_num 引數值為 1,傳回 table_array 裡第一列的值,如果 row_index_num 引數值為 2,傳回 table_array 裡第二列的值,依此類推。如果 row_index_num 小於 1,則 HLOOKUP 函數傳回錯誤值 #VALUE!;如果 row_index_num 超過 table_array 的總列數,則 HLOOKUP 函數傳回錯誤值 #REF!。

Range_lookup
是個邏輯值,用來指定 HLOOKUP 要尋找完全符合或部分符合的值。當此引數值為 TRUE 或被省略了,會傳回部分符合的值;也就是找不到完全符合的值時,會傳回僅次於 lookup_value 的值。當此引數值為 FALSE 時,HLOOKUP 只會尋找完全符合的值,如果找不到,則傳回錯誤值 #N/A。

註解
  1. 如果 HLOOKUP 函數找不到 lookup_value,且 range_lookup 為 TRUE 時,則使用僅次於 lookup_value 的值。
  2. 如果 lookup_value 比 table_array 第一列中的最小值還小,則 HLOOKUP 傳回錯誤值 #N/A。



範例

表格陣列範例:中鋼2002財務比率年表


函數查詢範例


範例下載Hinet免費空間不支援續傳軟體(例:FlashGet)
arrow
arrow
    全站熱搜

    tivo168 發表在 痞客邦 留言(18) 人氣()