Excel中的常用函數Match

2021-02-23 Excel完美

就可以天天收到Excel知識分享


 Excel中的常用函數Match  

我們先這習一下Row、Column函數,最後講Match函數

Row函數:返回行號

:第1種用法:括號裡有參數,返回括號裡這個參數的行號,如=Row(A9)返回9

第2種用法:括號裡沒有參數,返回個公式所在的單元格的行號,如=row()這個公式寫在D5單元格,那麼就返回D5單元格的行號5

第3種用法:括號裡有2個,2個以上的單元格,如公式=row(A7:A8),A7單元格的行號是7,A8單元格的行號是8,結果返回兩個值{7;8}

第4種用法:括號裡放整行,如=row(1:3),第1行的行號是1,第2行的行號是2,第3行的行號是3,把=row(1:3)抹黑,F9得到{1;2;3}

Column函數,返回列號,這個是Row函數的姐妹函數,用法基本上差不多,由於column不好表示1,2,3,4……所以用得少,我們這裡介紹它基本用法

第1種用:括號裡有參數,返回括號裡這個參數的的列號,如=Column(D5),D5單元格的列號是D,對應著的數字是4,因為A是第1列,B是第2列,C是第3列,D是第4列,最後返回4

第2種用法:括號裡沒有參數,返回個公式所在的單元格的列號,如=Column()這個公式寫到C7單元格,C7單元格的列號是3,所以返回3

Match函數(找位置)

參數的講解,這個函數有3個參數            =match(lookup_value,lookup_array,match_type)                                               第1參數紅色底紋部分,查找值                 第2參數綠色底紋部分,被查找的區域(要求是一維數組或者是橫向的一行單元格區域引用;或者是縱向單元格區域一列引用;不能是二維數組;也不能是多行多列單元格區域引用,這一點大家要切記切記.  第3參數查找方式,用0精確匹配(可以是亂序),用1模糊匹配(第2參數要升序排序),用-1我們這裡不講

案例講解1:查找「小老鼠」在A列第幾個位置 ?                                                        =mathc("小老鼠",A1:A4,0)返回4 ,查找值是小老鼠,第2參數是A1:A4這個縱向的一列引用,第3參數用1是精確查找,我們也可以簡寫成=mathc("小老鼠",A1:A4,)也就是說第3參數這個0可以不寫 ,但是0前面這個逗號一定要留下。 

案例講解2:查找「小老鼠」在B3:E3中第幾個位置?                                                =match("小老鼠",B3:E3,0)返回4,第1參數查找值是「小老鼠」,第2參數B3:E3是一個橫向的一行單元格區域引用,第3參數用0 

案例講解3 :根據日期返回季度 ,想要得到B列的效果            

首先我們學習一個提取月分的函數   month,它的作作返回一個日期的月份,如=month(2016-10-24)返回10   這樣我們在B1輸入公式=month(A1)返回10,這樣我們就到match函數的第1參數查找值,=match(month(A1),?,?)第2參數,第3參數怎麼辦呢?,我們要找到每個季度的分界點,1;4;7;10   我們通過一個常量一維數組{1;4;7;10}作為match函數的第2參數,如果大家不會常量數組,沒有關係,我們回工作表裡去,在D1單元格輸入1,在D2單元格輸入4,在D3單元格輸入4,在D4單元格輸入10,然後D5單元格輸入一個=,引用D1:D4,得到公式=D1:D4;抹黑公式=D1:D4也得到{1;4;7;10},相信大家就明白了老師說的常量數組{1;4;7;10}了;現在我們來看第3參數用1,模糊匹配,要求第2參數升序排序,剛才我們的常量數組{1;4;7;10}是升序了,滿足了這個條件

如查找值是1,先找到第2參數找和它相等的,如果有,就返回查找值1的位置,返回1,公式=match(1,{1;4;7;10},1)

如果查找值是2,到第2參數找,看有沒有2,如果沒有就找比它小的,比它小的只有1,所以返回1所在的位置,返回1,=match(2,{1;4;7;10},1)

如果查找值是3,到第2參數找3的位置,如果沒有3,找比它小的,比它小的只有1,所以返回1,=match(3,{1;4;7;10},1)

如查找值是4,先到第2參數找和4相等的,第2參數有和它相等的4,4在第2個位置,所以返回2,=match(4,{1;4;7;10},1)

如果查找值是5,先到2參數找有沒有和5相等的,沒有就找比它小的,比5小的有2個,1和4,然後從小的中找最大的,4大於1,所以返回4所在的位置2,=match(5,{1;4;7;10},1)相信大家懂了,我也不再如果下去了,現在大家明白了match第2參數構建了,以前match第3參數用1是模糊匹配

我現在總結一下:如果我們是在找一個區間找位置,,大家一定要想到match函數,首先找和它相等的,一模一樣的,如果找不到,就找比它小的,如果比它小的又有許多,從小的中找最大的那個。原理就是這樣的,這個其實也是二分法原理,這裡大家不要理解二分法。另第3參數用1,要求第2參數一定要升序排序,否則結果不對,另我們如果第3參數用1,可以省掉,也就是match這樣就是2個參數了=match(5,{1;4;7;10},1)可以寫成=match(5,{1;4;7;10})

現在我們回到剛才案例中去,=MATCH(MONTH(A1),{1;4;7;10}) 

 最後公式="第"&MATCH(MONTH(A1),{1;4;7;10})&"季度"


好了,今晚到這裡,已經凌晨1:20了,關於match一些高級用法,我們以後分享。大家晚安

各位親:看了此帖,覺得不錯,記得分享到你們的朋友圈,如果您是第一次讀我的文章,請長按指紋關注我的公眾號,,這樣才可以天天收到我寫的文章,我才有勇氣和信心天天寫這樣的帖子,謝謝!

我們在線YY教室網絡培訓的科目:

函數基礎班、函數中級班、函數高級班、數據透視表班

vba編程初級班、vba編程中級班、vba編程高級班

報名諮詢電話186-6424-3619

聯繫人:佛山小老鼠(曹老師)

相關焦點