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 引數中使用萬用字元,如問號 (?) 及星號 (*)。問號可以代表任一字元;星號可以代表任一系列的字元。如果確實要尋找實際的問號或星號,請在該字元前輸入波狀符號 (~)。
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 11 的頭像
    11

    冠霖的部落格

    11 發表在 痞客邦 留言(0) 人氣()