Microsoft Excel是Microsoft為使用Windows和Apple Macintosh操作系統的電腦編寫的一款電子表格軟件。直觀的界面、出色的計算功能和圖表工具,再加上成功的市場營銷,使Excel成為最流行的個人計算機數據處理軟件。 在EXCEL中,有一部分人只使用過VLOOKUP函數來查找和引用數據,因為VLOOKUP函數確實非常強大,引用數據很方便。 但是VLOOKUP函數也有碰到不方便使用的情況: 1、比如逆向查找,雖然可以配合IF{1,0}完成逆向查找,但是只能逆向查找一列結果,還想要查另一個結果,又得重新編寫公式; 2、要同時滿足多個條件并且逆向查找多列結果,VLOOKUP很不方便。 3、還要很多功能VLOOKUP無法完成。這個時候,就可以憑借 INDEX+MATCH函數組合來完成以上的任務。 ▌先介紹下INDEX函數,它能通過輸入第幾行,第幾列找到"數據區域"相應的行列交叉內容。它的公式模板:=INDEX(數據區域,行數,列數)。通過一個簡單的案例講解,來清楚知道INDEX函數是干嘛用的。如圖1:我們要引用“三月小紅”的數據,那么在G2單元格輸入公式=INDEX($A$1:$D$6,2,4)。$A$1:$D$6是數據源,2表示"小紅"在數據源的第2行,4表示"三月"在數據源的第4列,引用數據區域里第2行和第4列交叉的內容,得到203。 圖1 但是大家有沒有發現在"圖1案例"中,行數和列數都是我自己一個一個手動輸的,這樣的話我拖動公式的時候就不會自動變換行、列數,這樣引用不靈活。 所以我們需要另一個函數MATCH函數和INDEX函數組合就能完成公式自動變動。 ▌先介紹下MATCH函數,它是匹配函數,"返回的結果數字"表示"查找值"在某一行或某一列排在第幾個,此函數的"數據區域"參數只能選1行或1列區域。公式模板:=match(查找值,1行或1列的查找區域,查找類型)。查找類型有 0:精確查找; 1:查找小于或等于查找值的數(升序排列); -1:查找大于或等于查找值的數(降序排列)。如圖2: 圖2 INDEX函數有查找引用內容的功能,MATCH函數可以通過"查找值"自動更改定位數,這樣我們就可以把MATCH函數嵌套進INDEX函數中,用于INDEX函數的第二參數行數和第三參數列數。 ▌INDEX+MATCH函數組合使用案例解析 ▼一、同一行多條件查找、引用數據。 公式模板:=INDEX(數據區域,MATCH(查找值1,查找區域1,0),MATCH(查找值2,查找區域2,0))。 在I2單元格輸入公式=INDEX($B$2:$E$6,MATCH(H2,$A$2:$A$6,0),MATCH(G2,$B$1:$E$1,0)),加上“絕對引用”防止數據偏移。如圖3: 圖3 多條件正向查找、引用,VLOOKUP配合MATCH也可以完成,i2單元格輸入公式=VLOOKUP(H2,$A$1:$E$6,MATCH(G2,$A$1:$E$1,0),0)。大家覺得哪條公式更簡便,可以自行選擇。 ▼二、單個條件逆向查找、引用多列結果。 公式模板:=INDEX(數據區域,MATCH(查找值1,查找區域1,0),MATCH(查找值2,查找區域2,0))。用INDEX+MATCH組合就可以輕松完成單條件逆向查詢。 在H2單元格輸入公式=INDEX($A$2:$E$6,MATCH($G2,$D$2:$D$6,0),MATCH(H$1,$A$1:$E$1,0)),行參數的$G2要加絕對引用,防止后期向右拖動公式時列方向會偏移錯誤;列參數的H$1要加絕對引用,防止后期向下拖動公式時行方向會偏移錯誤。然后H2單元格向右,向下拖動就可以了。如圖4: 圖4 用VLOOKUP函數就沒辦法一次性完成3條逆向結果的查找,只能在第2行每個單元格輸入公式,如H2輸入=VLOOKUP($G3,IF({1,0},$D$2:$D$6,$C$2:$C$6),2,0),其中$C$2:$C$6是結果列,根據不同的結果選擇不同列。4個查找項就要輸入4條公式,大家認為哪個公式更方便呢? ▼三、多個條件逆向查找、引用多列結果。 公式模板:=INDEX(數據區域,MATCH(查找值1,查找區域1,0),MATCH(查找值2,查找區域2,0))。用INDEX+MATCH組合就可以輕松完成多條件逆向查詢,輸完公式后必須按CTRL+Shift+回車三鍵,因為是數組模式。 I2單元格輸入公式=INDEX($A$2:$E$6,MATCH($G2&$H2,$D$2:$D$6&$E$2:$E$6,0),MATCH(I$1,$A$1:$E$1,0)),輸完公式后必須按CTRL+Shift+回車三鍵。行、列參數里都要加“絕對引用”,防止偏移。如圖5: 圖5 這里VLOOKUP就不需要再寫了,因為用VLOOKUP很麻煩。 ▼四、查找值加通配符星號 * 來模糊查找、匹配數據。 公式模板:=INDEX(數據區域,MATCH(“*”&查找值&"*",查找區域,0),列數)。 match函數能通過通配符星號*來匹配相似內容,查出對應的內容項。E2單元格輸入公式=INDEX($B$2:$B$6,MATCH("*"&D2&"*",$A$2:$A$6,0),1)。列參數輸入數字1表示引用數據區域$B$2:$B$6當前1列。 圖6 ▼五、按要求的條件查找最后一個滿足此條件的內容信息。 公式模板:=INDEX(數據區域,MATCH(1,0/($C$2:$C$6>=7000),1),1)。 找業績大于等于7000的最后一個人是誰,在C8單元格輸入公式=INDEX($B$2:$C$6,MATCH(1,0/($C$2:$C$6>=7000),1),1)。MATCH的第3參數寫1是為了啟動模糊匹配,功能同LOOKUP,最后要按CTRL+Shift+回車三鍵。如圖7: 圖7 ▼六、用 Match函數求當前月份是第幾季度 利用MATCH函數的第3參數寫1,升序排列,模糊匹配和查找值相同或小于查找值的最大值,原理同LOOKUP二分法,計算當前月份對應的第幾季度。在B2單元輸入公式=MATCH(MONTH(A2),{1,4,7,10},1)&"季度" 。如圖8: 圖8 總結:INDEX和MATCH函數組合在逆向查找、引用方面確實比VLOOKUP厲害很多。但個人使用習慣,如果能用VLOOKUP輕松完成查找、引用的任務,優先使用VLOOKUP函數,如果VLOOKUP完不成的,可以考慮用INDEX和MATCH函數的組合完成。不知道朋友們更喜歡哪種用法? Excel整體界面趨于平面化,顯得清新簡潔。流暢的動畫和平滑的過渡,帶來不同以往的使用體驗。 |
溫馨提示:喜歡本站的話,請收藏一下本站!