官术网_书友最值得收藏!

2.1.3 MATCH函數(shù)的使用方法和應用

2.1.2節(jié)介紹了如何利用OFFSET函數(shù)引用數(shù)據(jù),但是因為需要數(shù)偏移多少行或者多少列,如果在數(shù)據(jù)量大的時候,就太麻煩了,那么有沒有一個函數(shù)可以直接告訴我們應該偏移多少行或者多少列呢?這樣就可以節(jié)省數(shù)行和列的時間了。

答案是肯定的,MATCH函數(shù)就可以實現(xiàn)。

MATCH 函數(shù)是在指定區(qū)域范圍中搜索指定的項,然后返回該項在此區(qū)域中的相對位置。例如,如圖2-9所示,如果想要知道PC端訪客數(shù)在第一行的什么位置應該怎么做呢?

圖2-9

在實現(xiàn)這個過程的時候,先學習和了解MATCH函數(shù)的語法:

=MATCH(lookup_value, lookup_array, [match_type])

參數(shù)說明:

(1)lookup_value:要查找的值。例如,圖2-9中,如果想要在第一行查找PC端的訪客數(shù),那么PC端訪客數(shù)就是lookup_value。

注意:lookup_value可以為值(數(shù)字、文本或邏輯值)或?qū)?shù)字、文本或邏輯值的單元格引用。

(2)lookup_array :要搜索的單元格區(qū)域。例如,如果想要圖2-9中第一行查找PC端訪客數(shù)的位置,那么第一行就是lookup_array,但是區(qū)域必須是某一行或某一列,如果是一個多行多列的區(qū)域是沒辦法查找的。

(3)match_type:表示查詢的指定方式。用數(shù)字-1、0或者1表示,match_type省略相當于match_type為1的情況。

① 為1或者省略時,MATCH函數(shù)查找小于或等于lookup_value的最大值。lookup_array參數(shù)中的值必須以升序排序。

② 為0時,MATCH函數(shù)查找完全等于lookup_value的第一個值。lookup_array 參數(shù)中的值可按任意順序排列。

③ 為-1時,MATCH函數(shù)查找大于或等于lookup_value 的最小值。lookup_array 參數(shù)中的值必須按降序排列。

例如,在2.1.2節(jié)中如果想要通過函數(shù)找到PC端訪客數(shù)所在的位置,那么可以利用MATCH函數(shù)。

如圖2-10所示,在任意一個單元格中輸入“=MATCH("PC端訪客數(shù)",1:1,0)”,也可以輸入“=MATCH(F13,1:1,0)”,因為這里F13單元格的內(nèi)容就是PC端訪客數(shù),1:1代表的是第一行這個范圍,但是如果寫文字“PC端訪客數(shù)”就需要輸入英文狀態(tài)下的""。然后,按Enter鍵,就會返回位置的數(shù)據(jù)。

圖2-10

這里返回的值是10,即PC端訪客數(shù)在第一行的第十個位置,第J列正好就是第十列。很顯然,返回的是正確的,因此以后碰到這種需要找位置的情況可以利用MATCH函數(shù)。

接下來,再介紹嵌套函數(shù)。嵌套函數(shù)是指在某些情況下,需要將某函數(shù)作為另一函數(shù)的參數(shù)使用。例如,OFFSET函數(shù)有一個參數(shù)是偏移多少列,因為MATCH可以找到偏移多少列的值,也就是說,可以利用MATCH函數(shù)代替OFFSET函數(shù)中的參數(shù)cols。

在利用OFFSET函數(shù)引用PC端訪客數(shù)的時候公式為“=OFFSET(A1,1,9)”,而公式“=MATCH("PC端訪客數(shù)",1:1,0)”等于10,即“OFFSET(A1,1,9)”中“9”可以用“=MATCH("PC端訪客數(shù)",1:1,0)-1”代替,因為“MATCH("PC端訪客數(shù)",1:1,0)-1”也正好等于9。

所以,可以把“OFFSET(A1,1,9)”寫成“OFFSET(A1,1, MATCH("PC端訪客數(shù)",1:1,0)-1)”,如圖2-11所示,結果相同。

圖2-11

先點擊F14單元格,把光標放在單元格的右下角,等光標變成黑色十字的時候雙擊鼠標左鍵,可以把下面的單元格也自動快速填充公式,計算出結果。

但是如果要使用雙擊快速填充公式還需要利用絕對引用,否則,會出現(xiàn)如圖2-12所示的錯誤。

圖2-12

在沒用絕對引用的時候,會發(fā)現(xiàn)后面單元格里的公式MATCH函數(shù)的查找范圍發(fā)生了變化, F15單元格的成了第二行(2:2), F16單元格的成了第三行(3:3),以此類推。很顯然,需要的都是在第一行查找,即需要的是MATCH函數(shù)中的查找區(qū)域都是第一行(1:1)。

這個時候需要學習一個新的知識點,絕對引用“$”。

在數(shù)據(jù)分析的實際應用過程中,函數(shù)往往并非只是針對某一個單元格,它可能是針對一行或者一列,甚至一個區(qū)域。因此,在這個過程中往往都會涉及快速填充或者復制公式,而要在復制或者快速填充的過程中保證公式的正確,就必須掌握絕對引用。

相對引用和絕對引用是Excel中非常重要的基礎概念。相對引用即它是相對的關系,如圖2-13所示,在E7單元格中輸入“=A1”,然后按Enter鍵之后點擊E7單元格,把光標放在E7單元格的右下角,等光標變成黑色十字的時候按住鼠標左鍵往下拖,E8單元格就變成了引用A2的內(nèi)容,而不再是引用A1的內(nèi)容,這就是相對引用。

圖2-13

但是,如圖2-13所示,如果在E7單元中輸入“=$A$1”,即在行和列前面分別加上一個“$”。這個時候如果按照上面的方法拖到E8單元格,會發(fā)現(xiàn)E8單元的內(nèi)容還是引用A1,而不是引用A2,這就是絕對引用,不管怎么拖動,它都不會發(fā)生變化。

絕對引用就相當于鎖定一樣,不管怎么拖動,它都不會動,還有一種混合引用的方法,如“A$1”,在列前面沒有加“$”,只在行的前面加上“$”,即只鎖定行,而不鎖定列,也就是說,當拖動的時候,行是不能變的,但是列是可以變動的,這就是混合引用。

在MATCH("PC端訪客數(shù)",1:1,0)函數(shù)中,“PC端訪客數(shù)”這幾個字只能在第一行,即不管怎么拖動都必須保持在第一行中查找,這個時候就需要利用絕對引用,MATCH("PC端訪客數(shù)", $1:$1,0),需要在“1”前面都加上“$”。

可以試一下,如果公式是“=MATCH(F13,1:1,0)”,那么當使用快速填充公式的時候,單單鎖定查找范圍還不行,還需要鎖定查找的值,即F13。完整公式應該是“=MATCH($F$13, $1:$1,0)”。

主站蜘蛛池模板: 濮阳市| 淳化县| 嘉鱼县| 克拉玛依市| 汉阴县| 合江县| 洮南市| 定安县| 泗洪县| 伊金霍洛旗| 甘谷县| 莆田市| 长阳| 宜昌市| 城步| 句容市| 永川市| 楚雄市| 美姑县| 长岛县| 潮安县| 大理市| 八宿县| 集贤县| 仁化县| 西华县| 新野县| 鹤庆县| 三穗县| 鹤山市| 枣阳市| 泉州市| 泽库县| 正安县| 柘城县| 井冈山市| 新郑市| 罗源县| 怀来县| 奇台县| 章丘市|