使用XMATCH函數,進行商品代碼的查詢-執行完全符合的比對。
以下的實作資料是一份「商品代碼」資料欄位具有唯一值特性的資料範圍,每一筆資料記錄記載了每一個商品的「商品代碼」、位於倉儲的「位置」、商品的「單價」、「庫存量」以及倉儲「管理員」等多項欄位資料。若要透過MATCH函數,以儲存格K5為查詢值(lookup_value),至資料範圍裡的「商品代碼」欄位(視為lookup_array)進行資料查詢,採用的查詢型態(match_type)是「完全符合」的模式,那麼這個查詢函數可以寫成:
=MATCH(K5,產品代碼,0)
也就是資料比對時,必須一字不漏、一模一樣的完全符合,才算是順利找到所要的資料(match_type=0)。如此,儲存格K5的內容將會與「產品代碼」欄位裡的內容進行比對,並傳回比對結果。
此例中儲存格K5的內容輸入的是「im-643」,與「產品代碼」欄位內容進行比對,且欄位內容必須完全相符(match_type=0)才算查找到資料,而MATCH函數將會傳回該內容在查找範圍或陣列裡的相對位置。
而MATCH函數所傳回的查詢結果是此查詢值「im-643」在查找範圍「產品代碼」欄位裡的相對位置。所以,此實作結果將顯示「5」表示比對成功的「im-643」正位於「產品代碼」欄位裡由上而下的第5的位置,這也正是MATCH函數的特質:若傳回的結果是個整數值,代表確實順利尋獲資料,而該整數值即代表尋獲的資料正位於查詢範圍的相對位置。若沒有查詢到資料,則會顯示#N/A。
在XMATCH函數的用法與結果也是如此,只要輸入:
=XMATCH(K5,商品代碼,0)
而在實務運用上,這個MATCH函數或XMATCH函數所尋獲的整數值是很有作用的。以此實作結果的整數值而言,便可以作為INDEX函數的索引值參數,至其他指定的資料欄位裡取得該欄位的相對應內容。譬如:既然都知道「im-643」是在「產品代碼」欄位裡的第5個位置了,那麼「單價」欄位裡第5個位置的內容,不就正是「im-643」的單價嗎?「庫存量」欄位裡第5個位置的內容,不就正是「im-643」的庫存量嗎?
(文章內容實作範例下載)
XMATCH的實例應用系列文章:
- 商品代碼的查詢-完全符合的比對(1/5)
- 商品單價的查詢-完全符合或小於的比對(2/5)
- 商品代碼的查詢-完全符合或大於的比對(3/5)
- 生卒年份的查詢-完萬用字元的比對(4/5)
- 資料查找模式的綜合應用(5/5)