close
除了VLOOKUP...還有這種用法....(筆記....)
MATCH() 可以在一個陣列中找出鍵值,並傳回它的位置;INDEX() 可以傳回一個陣列中,特定位置的內容值。我們可以利用 MATCH() 來找出鍵值 (姓名) 所在位置,再用 INDEX() 找出相對應位置的內容值。
EX:=INDEX(A2:A5,MATCH(D1,$B$2:$B$5,0),1)
MATCH 函數會搜尋某儲存格範圍內的指定項目,然後再傳回該項目在範圍內的相對位置。例如,若範圍 A1:A3 內含值 5、25 和 38,則公式
=MATCH(25,A1:A3,0)
會傳回數字 2,因為 25 是範圍內的第二個項目。
當您需要取得符合搜尋條件的元素之相對位置而非元素本身時,您應使用 MATCH 函數,而非 LOOKUP 函數。例如,您可以使用 MATCH 函數來提供 INDEX 函數的 row_num 引數值。
語法
MATCH(lookup_value, lookup_array, [match_type])
MATCH 函數的語法具有下列引數:
- lookup_value 必要項。這是您要在 lookup_array 中尋找比對的值。例如:當您要在電話簿中尋找某人的電話號碼時,姓名就是所要尋找比對的值,而電話號碼才是您所要的資料。
lookup_value 可以是數字、文字、邏輯值,或是一個參照到數字、文字、邏輯值的儲存格參照位址。
- lookup_array 必要項。要搜尋儲存格範圍。
- match_type 可省略。這是一個數字,其值有三種可能:-1、0 或 1。match_type 引數用以指定 Excel 如何從 lookup_array 裡尋找 lookup_value。此引數的預設值為 1。
下表說明此函數如何根據 match_type 引數的設定來尋找所需值。
Match_type | 行為 |
---|---|
1 或省略 | MATCH 函數會找到等於或僅次於 lookup_value 的值。lookup_array 引數內的值必須以遞增次序排列,例如:...-2, -1, 0, 1, 2, ..., A-Z, FALSE, TRUE。 |
0 | MATCH 函數會找第一個完全等於 lookup_value 的比較值。lookup_array 引數內的值可以依任意次序排列。 |
-1 | MATCH 函數會找到等於或大於 lookup_value 的最小值。lookup_array 引數內的值必須以遞減次序排序,例如:TRUE, FALSE, Z-A, ...2, 1, 0, -1, -2, ...,以此類推。 |
附註
- MATCH 函數將傳回 lookup_array 與搜尋值相符合的位置,而非本身的值。例如:MATCH("b",{"a","b","c"},0) 會傳回 2,其為 "b" 在陣列 {"a","b","c"} 中的相對位置。
- MATCH 函數在比較文字資料時,字母並不區分大小寫。
- 如果 MATCH 函數無法找到符合的元素,則傳回錯誤值 #N/A。
- 如果 match_type 為 0 且 lookup_value 是文字串,則可以在 lookup_value 引數中使用萬用字元,如問號 (?) 及星號 (*)。問號可以代表任一字元;星號可以代表任一系列的字元。如果確實要尋找實際的問號或星號,請在該字元前輸入波狀符號 (~)。
全站熱搜