XMATCH的實例應用:商品代碼的查詢-完全符合或大於的比對(5/3)

使用XMATCH函數,進行商品單價的查詢-執行完全符合或大於的比對。

另外,若MATCH函數的第三個參數match_type設定為「-1」則表示要查找的資料必須是等於查詢值或是大於但又接近於查詢值的資料。例如想要查詢單價為400或高於400但又最接近400的單價,則輸入以下的函數:

=MATCH(T5,單價,-1)

完成公式的建立後,竟然顯示#N/A訊息,表示找不到所要查找的資料:

照理說,在「單價」欄位裡等於400或者大於400但又最接近400的單價(也就是大於400的最小值),應該是位於此欄位裡第3個位置的「422」啊!那麼,為什麼MATCH函數傳回的結果不是「3」而是「#N/A」呢?道理跟剛剛的實作範例一樣,起因於此查詢資料範圍裡「單價」欄位並未排序,所以,MATCH函數match_type設定為「-1」就無法順利找到資料。

也就是說如果已經事先針對查詢範圍「單價」欄位,進行了由大到小的遞減排序,那麼MATCH函數其match_type設定為「-1」的查找型態才會有作用。如下圖所示,單價等400或者略高於400的最小值為422,而此值正位於目前已經事先遞減排序之「單價」欄位裡的第5個位置。

不過,若是改用XMATCH函數可就沒有這個查詢陣列必須事先排序的困擾喔!例如:將XMATCH函數的第三個參數設定為「1」即代表要查詢等於或大於查詢值的最小值。

=XMATCH(T5,單價,1)

以此例在儲存格T5裡輸入400,查詢範圍裡並不需要排序的「單價」欄位中,大於400的最小值,也就是大於400且最近400的值是422,而此值正位於「單價」欄位裡的第3個索引位置,因此,XMATCCH函數將傳回結果「3」。

(文章內容實作範例下載)