Excel的搭檔函數INDEX,MATCH,你用對了嗎?

2020-12-06 小哥聊經驗

大家好,我是愛聊Excel的小胖子廖晨,今天要聊的是在一次製作自動增減內容的工資條,你會做嗎?這有實例!一文中使用過的函數,查找定位函數中的最佳搭檔match和index,還有個不成文的說法與這兩個函數有關:查詢用的好,5大函數離不了,分別為index,match,lookup,hlookup,vlookup。今天我們只說index,match函數的用法。

函數之術

術在道德經中的解釋具體的操作方法,為下乘

函數中的「術」其實就是了解函數功能,具體的使用方法?

MATCH功能:查找值在引用區域中的相對引用位置;

語法結構:MTACH(,引用範圍,[查找模式])

:查找的值,支持通配符「*?~」(必填)

引用範圍:可謂引用的範圍或數組,引用範圍只能包含行或列,否則返回#N/A;(必填)

查找模式:設定為3個值:1,0,-1;具體信息如下

0.表示精準查找,對應算術中的=,與查找「值」相等就返回當前單元格的相對位置,若沒有找到返回#N/A

1.不填默認值,相當於算數中的<=,返回與值最接近且小於等於「值」的單元格的相對位置;

-1.相當算術中的>=,返回與值接近且大於等於「值」的單元格的相對位置,若沒有找到返回#N/A

提示:當為1時,若數據非升序,結果不可預測(慎用)。

MATCH函數示意圖(圖1)

我最常用的就是精準查找,因為模糊查找有條件約束,所以不太常用,下面我們就詳細了解一下精準查找的用法:

面試題:有一張業績表包含部門,姓名,銷售業績,行數(輔助列)引用範圍為A1:D14,用match函數查詢姓名在B2:B14的位置(是不是簡單令人髮指,不過筆試題越簡單,坑就比較多,考察的內容比你想像的要多的多)。

:公式比較簡單,若查找「張冶」所在的位置,只需在結果單元格F1錄入=match(「張冶」,B2:B14,0),回車;

如果這是一道面試的題的話,這麼寫答案只怕就是個及格分,因為我們製作某項功能的時候,需要考慮易維護和管理,在這個問題上,其實就是增加一個輔助單元格F2為姓名錄入入口,然後將G2的公式變為=match(E1,B2:B14,0);

如果你做了上面的內容認為就能拿滿分的話,你就太天真了,最多80分,除非你把另外的兩個參數也做成可變的,比如查找模式引用的輔助單元格做成可選列表且加條件約束只能為-1,0,1;難點如何動態生成查找用的引用範圍,有興趣的你可以玩玩!不過在工作中,看留給你的時間是否充裕,沒有時間做最簡就好!

創建查詢模式編碼列表示意圖(圖2)

INDEX功能:通過設定引用範圍的行列號,讀取引用範圍或數組中相應位置的值

語法結構:INDEX(引用範圍,行號,[列號],[區域編號])

引用範圍:即支持單區域引用,也支持多區域引用,當遇到多區域引用的,區域編號則會起到作用

行號:準確的說行號不太準確,因為當引用範圍只在行或列內時,它表示引用範圍的相對位置,自動識別為行號或列號;

列號:當引用範圍同時包含行或列的單元格,才需填寫列號;

區域編號:當引用範圍非連續多個區域時,可以使用區域編號來指定讀取某區域的單元格,從1開始,如果設定小於1的值,則返回#VALUE;

接下來我們將通過例子來熟悉一下INDEX函數的用法:

例:讀取B2:B14引用範圍中的第5行的值是什麼?結果單元格錄入公式=index(b2:b14,5)

如果將引用範圍換成A1:G1,讀取第5列的內容公式依然=index(A1:G1,5),

面試題:在工作表中B2:G13中,第1行每一個單元格的數字全為1,第2行每個單元格的數字全為2,依次累加,在h5單元格的公式=index(B2:G13,2,0),則H6的公式為=sum(index(B2:G13,2,0)),兩個最終的分別是什麼?

:第1個結果為#VALUE,第2個結果為12,因為B到G為6個數,恰巧第2行數字全是2,即6*2=12;

知識點:當引用範圍即包含行和列的單元格時,行號或列號為0時,則表示所在位置的引用範圍行或列的內容,不過在單元格單獨輸入公式則返回#VALUE,而用sum包裹則等效=sum(B3:G3);

面試題公式示意圖(圖3)

函數之法

法在道德經中解釋為一套體系的原理和規則,中乘

通過上面的介紹,我們不難了解到,MATCH函數可以查詢某些值的在引用範圍中的相對位置,而INDEX函數則可以通過輸入位置編號就能讀取相應位置的值,哪麼問題來了,如何才能查找上面「業績表」中的同一部門所有的員工呢?

思路:其實查詢某個部門所有的銷售人員,只需查出這一部門在引用範圍的所有的相對位置即可,再用INDEX依次讀取銷售人員的姓名就好,哪麼問題來了,該如何讀取一個部門的所有位置信息?而MATCH精準查找只能返回第一次的位置,哪我們依次從第一次出現的位置+1開始查,依次循環是不是就能找到所有的位置了呢?只用前面的兩個函數是無法實現,需藉助INDIRCET函數來拼接生成查找下一個員工姓名的引用範圍,開始位置為上一員工相對位置+1,結束位置不變。

操作:

1.F1:H1分別輸入「查詢部門「、」員工姓名「、」位置「,在F2錄入查詢的部門的名稱」部門1「,在H2輸入=MATCH(F2,A:A,0),回車;

2.第1個元格的相對位置+1即H2+1,所下一個位置的引用範圍字符串=」A」&H2+1&」:A100」,轉化成引用範圍=INDIRECT("A"&H2+1&":A100」),H3的公式=MATCH($F$2,INDIRECT("A"&H2+1&":A100」),0),再加上第1個員工的相對位置即公式為=MATCH($F$2,INDIRECT("A"&H2+1&":A100"),0)+H2;最後容錯處理,最終為=IFERROR(MATCH($F$2,INDIRECT("A"&H2+1&":A30"),0)+H2,"")

3.快速批量擴填H3的公式方法有拖拽法快捷鍵法

拖拽法:將滑鼠移至H3單元格的右下角,變為,按下滑鼠左鍵不放,一直拖拽到最終位置(最常用,缺點:填充公式的引用範圍太多時,操作不太順暢)快捷鍵法:先在名稱框輸入公式填充的引用,回車,然後輸入H3的公式,直接ctrl+回車(缺點:步驟稍微多一點,需提前知道填充結束位置;)4.然後在G2輸入=index(B:B,h2),容錯後公式為=IFERROR(INDEX(B:B,H2),"")滑鼠移至G2的右下角變為,雙擊滑鼠左鍵,就能完成公式填充,並於H3引用範圍相對齊(有時間會專門寫一篇總結技巧的優缺點和使用場景)最後選中H列,CTRL+0隱藏輔助列

案例示意圖(圖4)

:處理這類問題,數據大時,查詢匯總填充的公式多了佔用空間,少了會頻繁二次增添公式,填充公式量該怎麼掌握呢?

:2個類型數據,查詢的填充公式要做到整體數據量的75%,3個類型,查詢公式的量為50%,4個類型,公式的填充量為40%,並非絕對,純屬個人經驗總結。

其實函數「法「的階段就是通過已知的條件中,發現解決問題的規律,然後再去選擇合適的函數或函數組合;選擇合適函數必須先過函數「術」的階段,大概花一個月的時間來熟悉函數的分類,常用的函數60-70個足以和常用的功能技巧,而找到解決問題的規律,就需要長時間的積累,如果開始沒有思路可以找一些做好的項目,開始可以抄,抄的時候,需要注意3點,

1.了解函數的用法和組合的含義,自己不懂,可以搜索相關內容;2.儘量找到所有為什麼這麼用的答案3.最後比較簡單,分別解決了什麼樣的問題,還有其他的什麼情況可以這麼做,雖然簡單卻很關鍵,不可略去;抄過4-5個後,可以嘗試自己做,不要貪快,因為學好的捷徑就是用正確方法上花費時間,至於時間的多少就看你的悟性和學習能力。

聊完函數之「法"後就是函數第三階段「道」,但「道「卻不是1,2個函數就能說明白的,不過可以先解釋一下什麼是「道」?

「道「在道德經中解釋為萬物變遷循環中的亙古規則,上乘;而函數的「道「,就是自己設計,編寫自己需要的功能,所使用的模塊編程的設計思想,要點有12個字:約定優於配置,配置高於邏輯;字不多,學成難,因為需要你大量的知識積累,不光需要你程式語言的知識,也需要算法,設計思維和計算機知識的加持,才能成道。

好了,今天的文章就到這了,文章的最後給大家準備了一個思考題,問:部門員工表中,能用INDEX和MATCH函數實現查詢銷售4的王城銀所在的位置?(註:不用輔助列,不用其他函數,一個公式搞定),欲知公式如何寫,下文分解,最後一句良言:看遍千文,不如實踐一篇,希望你通過實現有所收穫,歡迎你來審查文中紕漏,留言給我,我會立馬改正。不過不要一看有些難度就放棄,你只不過是學前的我,我只是學後你而已!喜歡我就關注吧,我是一個愛聊Excel小胖子,廖晨!

相關焦點

  • excel經典函數組合:index+match!工作中非常實用,案例解析掌握
    課程信息卡課程:《Excel天天訓練營》2.0圖文版章節:第2章-精通函數內容:定位查找(index\match)在excel函數裡面,index+match這一組函數做定位查找是非常實用的。通過index+match這一組函數就可以定位到兩個數據的交叉位置,即查詢結果。如果你沒有學會這些函數,那麼就無法應對大量數據的表格。現在,我們就來用函數公式實現excel自動化辦公。
  • Excel中高手都在用的index函數與match函數匹配查詢區域
    在這種情況下,我們藉助於index函數與match進行匹配就會顯得特別方便。具體如何使用呢?接下來,跟著office小超老師一起來學習下此問題的解決方法。首先,我們先看下這兩個函數的構成。index稱之為引用函數,代表返回表格中的值或者引用。
  • excel怎樣運用VLOOKUP函數與INDEX-MATCH函數進行查找?
    在實際工作中,我們經常使用vlookup函數與index-match函數進行查找,這倆個函數都可以實現查找的功能,下面就基本查找,反向查找,多條件查找對比下這兩個函數的運用方式。index-match函數中先輸入match函數,match函數第一個參數表示查找依據,第二個參數表示查找依據所在的列,第三個參數表示精確匹配,此時顯示查找的數據所在單元格第幾行。外面嵌套index函數,第一個參數表示所在列,第二個參數match表示所在行,此時就實現了查找的目的。
  • 這個excel查找函數也很重要,index函數的使用方法
    我們之前學過幾個excel查找函數,分別是vlookup函數和hlookup函數以及match函數,這次我們還要學習另外一個查找函數,這個查找函數就是index函數,index函數是用來引用我們所需要的信息,主要分連續區域和非連續區域內的引用兩種,連續區域裡使用index公式是=index
  • 多條件數據查詢,你選擇用lookup、vlookup還是index+Match函數?
    今天我們就來詳細的學習一下Excel非常實用查詢函數:lookup、vlookup以及Index+Match函數在不同情況下的多條件查詢使用。看看大家都喜歡用哪一類函數進行數據的多條件查詢。函數公式:{=VLOOKUP(E5&F5,IF({1,0},$A$1:$A$9&$B$1:$B$9,$C$1:$C$9),2,0)}函數解析:1、vlookup函數進行多條件查詢的時候,需要用&
  • Excel中學會了INDEX+MATCH,你會不想用VLOOKUP函數的!
    首先我們來了解一下INDEX函數和MATCH函數INDEX(數據,N)表示取數據的第N個例如,我們在E2單元格中輸入一個公式:=INDEX(E:E,5),它表示返回E列中的第5個數據,即為坦克MATCH函數MATCH(查找值,查找區域,查找方式)例如,我們在H3單元格中輸入公式:=MATCH(G3,B:B,0),表示查找G3單元格的值,在B列中是第幾個,最後一個參數為0表示精確查找
  • Excel中查找函數vlookup和index—match使用方法詳細介紹
    在Excel中,談到查找函數推薦最多的就是vlookup函數和index—match函數,很多人把兩個函數作為判斷Excel水平的重要指標,可想而知這兩個函數在Excel數據計算中的重要性,本文就和大家一起來看看這兩個函數的用法吧。
  • 學會vlookup函數,查詢的時候不能用?聽說和index函數有關!
    昨天寫完index函數和match函數的時候後,很多朋友都在問,我查詢信息的時候完全可以用vlookup函數呀,為什麼還要兩個函數配合使用?這不是讓操作過程更複雜了嗎?確實可能是小編在昨天的文章中沒有說清楚查詢方向的問題,才導致很多朋友會有這樣的想法,那今天小編就來說一說這兩個函數之間有什麼差別?我們在什麼樣的情況下分別使用這兩個函數?
  • 如何在Excel中使用INDEX和MATCH函數
    首先我們來看一下INDEX函數,=INDEX(array, row_num,[column_num])。這裡的array可以是單行,單列或者多行多列的單元格區域,row_num是對應在該列的所要返回的值的參數,column_num是對應在該行的所要返回的值的參數。 2. 如圖,我們通過公式「=INDEX(F2:F17,5)」找到了學號為202005的英語成績。
  • excel表格中的index函數在處理數據時的用法
    index函數在excel中被歸類為「查找與引用」函數。該類函數中,有我們熟悉的縱向查找函數vlookup函數,其格式是:「=VLOOKUP(查找的數值,查找的數據表區域,返回目標數值在數據表區域中的列序號,匹配條件)」,該函數返回的是數據表中的數值。
  • Excel必備查詢神器:INDEX+MATCH函數組合,用了都說好
    當我們在處理表格數據查詢時,首先會想到一個超牛查詢函數VLOOKUP()。如果你覺得VLOOKUP函數超牛的話,今天阿鍾老師分享的應該算是查詢神器了吧!畢竟VLOOKUP函數在查詢數據時多多少少有一些限制,比如只能從前往後查找,逆向查找需要費一番功夫。而INDEX+MATCH函數組合就沒有這些限制了。
  • 查找利器-Index函數搭配Match函數
    Excel函數學習多了,也就沒想像中的那麼難了。今天分享一個查找利器-Index函數搭配Match函數,希望對你有所幫助。今天我們還是通過查找成績來介紹這兩個函數,如下圖,我們需要把左邊的函數成績填寫到右邊的表格中,怎麼做呢?
  • 你還在為Excel中Countif函數的使用方法而苦惱,請不必糾結...
    今天和大家分享的是Excel中countif函數的使用方法,讓你徹底告別Excel中countif函數的使用方法的煩惱!這個函數官方的解釋是這樣的,Countif函數是表格中對指定區域中符合指定條件的單元格計數的一個函數。
  • Excel中Index函數引用表單是怎麼使用的
    INDEX函數是返回表格或區域中的值或值的引用。數組形式時公式是這樣的:INDEX(array, row_num, [column_num])。引用中某行的行號,函數從該行返回一個引用。column_num可選。 引用中某列的列標,函數從該列返回一個引用。如果將 row_num 或 column_num 設置為0(零),則 INDEX 將分別返回整列或整行的引用。
  • 零基礎入門Excel數據分析「函數篇」:5個常用的關聯匹配類函數
    在數據分析中,數據的查找、對比等非常常見,這就需要用到關聯匹配類函數,本文將介紹Excel數據分析中常用的關聯匹配類函數,如vlookup、hlookup、index、match及rank等。1、vlookupvlookup是Excel查找函數家族中最為常用的一個函數,如果你經常和Excel打交道,那麼一定使用過vlookup。功能:用於數據區域的縱向查找。
  • 別用VLOOKUP函數了,試試INDEX+MATCH函數組合
    說到查找函數,很多小夥伴會想到VLOOKUP、LOOKUP等,今天我們要說的是INDEX+MATCH函數的組合使用,首先,介紹下這兩個函數吧。沒關係,小編給你解釋一下:INDEX(要查找的區域,查找的值在查找區域的哪一行,查找的值在查找區域的哪一列)INDEX函數就是在要查找的區域,定位行和列的位置,然後返回行列交叉的值。
  • 如何用excel製作年會抽獎滾動工具,原來一個公式就搞定了
    抽獎工具,還是可以滾動的,看似很複雜,其實在excel裡用一個公式就搞定了,想要在年會上秀一手嘛,那就趕快來學習吧~一個公式搞定抽獎工具只需在需要輸出中獎名單的單元格內填如以下公式:=index(人總名單所在列/行,randbetween(總名單起始行數,總名單結束行數)),如圖中所示數據就是用公式:=index(A:A,between(2,8))
  • EXCEL中INDEX+MATCH函數的組合,與VLOOKUP的比較
    VLOOKUP函數在EXCEL中是一個使用率比較高的查詢函數,可以是一個強大的查詢函數。但在使用的靈活性來說還是較INDEX+MATCH的組合差一些。現在來了解一下這些函數的語法和使用。現在來了解以下這三個函數。
  • Excel中萬能查詢匹配公式:INDEX函數和MATCH函數組合
    我們在日常處理表格數據時,查找匹配數據首先會想到VLOOKUP函數,以前小編也分享過多個利用LOOKUP、VLOOKUP函數查找匹配數據的教程(如下圖)這兩個函數都有一定的限制,比如LOOKUP函數要求查找結果必須升序排列,而VLOOKUP函數只能從前往後查找,逆向查找需要與其他函數搭配使用
  • Excel Choose函數的使用方法,含與Match與VLookUp配合使用的實例
    除可以用單個數字作索引號外,還可以用數組;用數組作索引號常常在和Match函數或VLookUp函數配合使用時出現,以下列舉了 Excel Choose函數使用方法的6大實例,其中就包含有和Match函數或VLookUp函數配合使用的實例,實例操作所用版本均為 Excel 2016。