查詢函數一直是Excel中常被用到的一種函數,本篇來介紹一下index與match在實際工做中的應用實例。ide
先看一下這個Excel工做簿。要求:將「用戶分析」工做表中機房名稱列中輸入函數,向下拖動使其自動選擇對應「號段檢索」工做表中備註的機房名稱。函數
其中故障號碼爲「號段檢索」表中起始、結束號段中的碼號。所以這裏須要利用index與match函數來完成檢索號段歸屬機房查詢工做。this
想到了index與match函數了吧,能夠先回顧一下。blog
------------------------------------------------------------------------------------------排序
------------------------------------------INDEX----------------------------------------get
index函數的意義:返回指定行列交叉處引用的單元格。 it
公式:=index(reference,row_num,column_num,area_num)
reference指的是要檢索的範圍;
row_num指的是指定返回的行序號,如超出指定檢索範圍,返回錯誤值#REF!;
column_num指的是指定返回的列序號,如超出指定檢索範圍,返回錯誤值#REF!;
area_num指的是返回該區域中行和列的交叉域。可省略,默認1。如小於1時返回錯誤值#VALUE!class
------------------------------------------------------------------------------------------cli
------------------------------------------MATCH--------------------------------------引用
match函數的意義:返回指定方式下查找指定查找值(能夠是數字、文本或邏輯值)在查找範圍1行或1列的位置。
公式:=match(lookup_value,lookup_array,match_type)
lookup_value指指定查找值;
lookup_array指的是1行或1列的被查找連續單元格區域。
match_type指的是查找方式,1或省略指查找小於或等於lookup_value的最大值,lookup_array必須爲升序排列,不然沒法獲得正確結果。
0指查找等於lookup_value的第一個數值,若是不是第一個數值則返回#N/A
-1指查找大於或等於lookup_value的最小值,lookup_array必須爲降序,不然沒法獲得正確結果。
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
那麼在這裏是用match函數來定位「用戶分析」表中故障號碼在「號段檢索」起始號段或結束號段的所在行序號。
以下圖:=MATCH(用戶分析!K2,號段檢索!B:B,1)。可是爲何檢索出來的行號會是錯誤值呢?
別忘了,match_type爲-1時,lookup_array必須爲升序排列,也就是「號段檢索」表中起始號段應按升序排序。
OK,此次查詢正確,也能夠抽一個驗證一下無誤便可。
最後index函數利用match定位的行序號,來引用「號段檢索」表中該行序號所在備註的機房名稱。
輸入公式以下:INDEX(號段檢索!A:G,MATCH(用戶分析!K2,號段檢索!B:B,1),6)。
最後向下拖動公式,完成機房名稱檢索。
在實際應用中可能經常使用的是精確查找,可是若是match函數須要應用-1和1時,特別要注意lookup_array的排序問題。