二維碼 購(gòu)物車
部落窩在線教育歡迎您!

Excel進(jìn)階之路必學(xué)函數(shù):動(dòng)態(tài)統(tǒng)計(jì)之王——OFFSET(上篇)

?

作者:E圖表述來(lái)源:部落窩教育發(fā)布時(shí)間:2019-09-04 10:08:53點(diǎn)擊:10635

分享到:
0
收藏    收藏人氣:0人
版權(quán)說(shuō)明: 原創(chuàng)作品,禁止轉(zhuǎn)載。

編按:

哈嘍,大家好!今天是部落窩函數(shù)課堂的第6課,我們將認(rèn)識(shí)人送外號(hào)動(dòng)態(tài)統(tǒng)計(jì)之王OFFSET函數(shù)!OFFSET函數(shù)是一個(gè)非常實(shí)用的函數(shù),它在下拉菜單、動(dòng)態(tài)圖表、動(dòng)態(tài)引用等操作中都具有不可替代的作用。毫不夸張的說(shuō)Excel表格的高效,有相當(dāng)一部分的功能來(lái)源于OFFSET。今天就跟著小編一起來(lái)認(rèn)識(shí)一下它吧?。ㄓ捎诮坛唐^長(zhǎng),將分為上下兩篇,本篇為上篇。)

 

【前言】


OFFSET函數(shù)是判斷Excel函數(shù)使用者是否進(jìn)階的一個(gè)重要函數(shù)之一。在實(shí)際工作中,如果你需要對(duì)工作中的數(shù)據(jù)文件進(jìn)行系統(tǒng)化、自動(dòng)化的建模,那么勢(shì)必會(huì)使用這個(gè)函數(shù)。

 

【功能及語(yǔ)法】


OFFSET函數(shù)的功能是,以指定的引用為參照系,通過(guò)給定的偏移量返回新的引用。

 

語(yǔ)法:OFFSET(reference,rows,cols,[height],[width])

reference   是原基礎(chǔ)點(diǎn)

rows     是要偏移的行數(shù),正數(shù)向下負(fù)數(shù)向上,零不變

cols     是要偏移的列數(shù),正數(shù)向右,負(fù)數(shù)向左,零不變。

[height]    是基礎(chǔ)點(diǎn)偏移后縱向擴(kuò)展幾行,正數(shù)向下擴(kuò)展,負(fù)數(shù)向上擴(kuò)展。

[width]    是基礎(chǔ)點(diǎn)偏移后橫向擴(kuò)展幾列,正數(shù)向右擴(kuò)展,負(fù)數(shù)向左擴(kuò)展。

 

如果不使用第四個(gè)和第五個(gè)參數(shù)(但不可以為零),則新引用的區(qū)域和原基礎(chǔ)點(diǎn)大小一致。

原基礎(chǔ)點(diǎn)可以是一個(gè)單元格,也可以是一個(gè)區(qū)域。

 

剛剛接觸OFFSET函數(shù)的同學(xué),想要理解上面這些參數(shù),可能存在一定的難度,那么我們用一個(gè)圖解的方式來(lái)給大家說(shuō)明一下吧。

 

 

相信大家看這個(gè)圖都花費(fèi)了不少時(shí)間吧。我們可以先按照上圖的指引,將數(shù)據(jù)填入OFFSET函數(shù)中,實(shí)際操作一下,來(lái)看看是否和新區(qū)域的地址一致呢?

 

先來(lái)測(cè)試下第一個(gè)例子,看看正數(shù)為參量的運(yùn)行結(jié)果:

 

 

通過(guò)驗(yàn)算,對(duì)黃色 “新區(qū)域”中的值進(jìn)行求和,等于256,與單元格C15中的值一致,結(jié)果正確。如果同學(xué)們想模擬這個(gè)數(shù)據(jù),也可以選中C15單元格,再通過(guò)工具欄中“公式——公式審核——公式求值”的功能,就能更加直觀的看到OFFSET的返回值。(在函數(shù)中使用F9也是可以的,選中公式中OFFSET的函數(shù)部分,再按F9即可,這里就不多講了。)

 

 

再來(lái)測(cè)試下第二個(gè)例子,看看負(fù)數(shù)為參量的運(yùn)行結(jié)果:

 

 

大家可以用“公式求值”的方式,自己測(cè)試一下,看看OFFSET函數(shù)區(qū)域的返回值。

 

那么知道了OFFSET的基本運(yùn)行原理之后,它在實(shí)際的工作中就可以幫助我們進(jìn)行很多的操作和運(yùn)算,而且有了這個(gè)函數(shù)的參與,可以實(shí)現(xiàn)excel中很多自動(dòng)化的效果。下面讓我們一起來(lái)看看OFFSET函數(shù)在實(shí)際操作中起到的強(qiáng)大作用!

 


一、初級(jí)常規(guī)用法



作為其他函數(shù)的區(qū)域引用,應(yīng)該是OFFSET函數(shù)最基礎(chǔ)的用途了。OFFSET函數(shù)并不是移動(dòng)了單元格區(qū)域,而是返回了一個(gè)偏移擴(kuò)展后的區(qū)域地址。因此所有將引用區(qū)域作為參數(shù)的函數(shù),都可以利用OFFSET函數(shù)的返回值,例如我們上面的例子SumOFFSET)),再比如下面這個(gè)例子:

 

 

函數(shù)原理和上面的用法相同,我們就不再贅述了,依然是利用OFFSET函數(shù)返回的區(qū)域作為MAX函數(shù)的參數(shù)。


 

二、進(jìn)階常規(guī)用法

 


絕技①:模擬轉(zhuǎn)置TRANSPOSE函數(shù)

 

 

我們?cè)谑褂?span>TRANSPOSE函數(shù)前,需要先選擇相應(yīng)大小的轉(zhuǎn)置區(qū)域,而且還需用Ctrl+Shift+Enter三鍵結(jié)束公式,比較繁瑣。

這里我們可以使用OFFSET函數(shù)來(lái)模擬這個(gè)轉(zhuǎn)置的效果,如上圖所示。

 

A11單元格函數(shù):

=OFFSET($A$1,COLUMN()-1,ROW()-11)

 

函數(shù)解析:

 

轉(zhuǎn)置數(shù)據(jù)其實(shí)就是一個(gè)“行轉(zhuǎn)列”、“列轉(zhuǎn)行”的過(guò)程,再說(shuō)具體點(diǎn)就是行號(hào)與列號(hào)互換的問(wèn)題。在原數(shù)據(jù)中的第一列“姓名”列,轉(zhuǎn)置后變成了新區(qū)域中的第一行。同理“姓名”列中每行的行號(hào),就成為了轉(zhuǎn)置后的列號(hào)。使用OFFSET的原理,就是偏移取值的時(shí)候,調(diào)換行列號(hào)的引值范圍。

 

比如A11單元格,COLUMN()=11-1=0,那么OFFSET的第二參數(shù)為0,說(shuō)明原基礎(chǔ)點(diǎn)的行數(shù)不偏移(OFFSET的第二參數(shù)表示行偏移量,不熟悉的話看看前面的內(nèi)容喲?。?span>ROW()=11,11-11=0OFFSET的第三參數(shù)為0,說(shuō)明列數(shù)也不偏移,所以引用的是原基礎(chǔ)點(diǎn)A1單元格的值。

 

★★ 把函數(shù)向右拉動(dòng)填充,B11單元格,COLUMN()=2,2-1=1,那么OFFSET的第二參數(shù)為1,說(shuō)明原基礎(chǔ)點(diǎn)的行數(shù)向下偏移一個(gè)位置。ROW()=11,11-11=0OFFSET的第三參數(shù)為0,說(shuō)明列數(shù)不偏移,所以B11單元格引用的是基礎(chǔ)點(diǎn)A1向下偏移后的A2單元格的值。

 

★★★ A11單元格的函數(shù)向下拉動(dòng)填充,A12單元格,COLUMN()=11-1=0,行數(shù)不偏移。ROW()=12,12-11=1OFFSET的第三參數(shù)為1,說(shuō)明列數(shù)從基礎(chǔ)點(diǎn)A1向右偏移一個(gè)位置,引用的是B1單元格的值(我們公式中的A1之所以使用絕對(duì)引用,是因?yàn)槲覀兯械膯卧穸际且?span>A1為基礎(chǔ)點(diǎn))。

 

以此類推,當(dāng)我們使用鼠標(biāo)下拉右拉填充公式之后,借助COLUMNROW函數(shù)幫我們定位出各個(gè)單元格的偏移量,由此達(dá)到了轉(zhuǎn)置的效果。

 

絕技②:模擬Vlookup函數(shù)的反向查詢功能

 

 

VLOOKUP函數(shù)的反向查詢大多是借助數(shù)組完成的,但因?yàn)閿?shù)組的原因,在數(shù)據(jù)量較多的情況下,函數(shù)可能會(huì)卡頓,所以很多同學(xué)也會(huì)使用INDEX函數(shù)來(lái)代替。那么今天就再豐富一下大家的知識(shí)量,我們用OFFSET函數(shù)來(lái)處理這類問(wèn)題。

 

C12單元格函數(shù):

=OFFSET($A$1,MATCH("D2568",$B$2:$B$7,0),)

 

函數(shù)解析

 

我們以單元格A1作為原基礎(chǔ)點(diǎn),需要返回的值與原基礎(chǔ)點(diǎn)在同一列,所以我們只需要考慮OFFSET函數(shù)的行偏移量,不用考慮列偏移量。因?yàn)閱T工編號(hào)一般都是具有唯一性的值,所以我們采用MATCH函數(shù)得到編號(hào)“D2568”在區(qū)域B2:B7中的序號(hào),返回值4作為OFFSET函數(shù)的行偏移量,帶入到OFFSET函數(shù)中,=OFFSET($A$1,4,)。列偏移省略默認(rèn)為0,擴(kuò)展寬度和擴(kuò)展高度省略默認(rèn)為1 (即一個(gè)單元格),是不是就是A5單元格啦!

 

絕技③:數(shù)據(jù)重置升級(jí)版——重排數(shù)據(jù)結(jié)構(gòu)

 

 

F2:H2區(qū)域輸入公式后,下拉填充數(shù)據(jù),就得到了右面的一維數(shù)據(jù)表。這種重排數(shù)據(jù)的問(wèn)題,在實(shí)際工作中應(yīng)該不少見(jiàn)吧!那么同學(xué)們會(huì)選擇什么方法解決呢?作者反而覺(jué)得OFFSET函數(shù)的思路更加的簡(jiǎn)潔清晰。

 

函數(shù)解析:

 

第一步:得到連續(xù)出現(xiàn)的姓名

 

F2單元格函數(shù):

=OFFSET($A$1,INT((ROW(F1)-1)/3)+1,)

 

因?yàn)榭颇恳还灿腥齻€(gè),所以可以確定同一個(gè)姓名需要出現(xiàn)三次,那么當(dāng)我們下拉F2單元格填充函數(shù)的時(shí)候,就要保證OFFSET函數(shù)的行偏移量每3個(gè)單元格的參數(shù)值都是一樣的。這里就需要有一個(gè)“除數(shù)取整”的數(shù)學(xué)思維了,我們列個(gè)圖來(lái)輔助說(shuō)明:

 

 

從圖中我們可以看出一組序號(hào),通過(guò)INT((序號(hào)-1)/3)+1的轉(zhuǎn)換后,就可以得到右側(cè)的序列(如果有4個(gè)科目,那就把3改成4,依此類推)。將這個(gè)序列號(hào)放入OFFSET函數(shù)的第二參數(shù),作為行偏移的標(biāo)準(zhǔn),就可以得到我們姓名列的效果了。

 

第二步給同一個(gè)人分配不同的科目

 

G2單元格函數(shù):

=OFFSET($A$1,,MOD(ROW(G1)-1,3)+1)

 

因?yàn)槲覀?span>F列中的每個(gè)姓名都出現(xiàn)了三次,這就決定了語(yǔ)文、數(shù)學(xué)、英語(yǔ)這三個(gè)科目需要順序、循環(huán)地羅列出來(lái),同第一步的思路一樣,用“除數(shù)求余”的數(shù)學(xué)思維來(lái)達(dá)到效果。

 

 

如上圖所示,序號(hào)通過(guò)MOD函數(shù)的轉(zhuǎn)換,得到一個(gè)順序、循環(huán)羅列的序號(hào)。將該序號(hào)作為OFFSET函數(shù)的第三參數(shù)列偏移量,就可以順序、循環(huán)的引出原數(shù)據(jù)的科目?jī)?nèi)容。

 

第三步通過(guò)姓名和科目,模擬INDEX函數(shù),在原數(shù)據(jù)中引出成績(jī)

 

H2單元格函數(shù):

=OFFSET($A$1,MATCH(F2,$A$2:$A$5,0),MATCH(G2,$B$1:$D$1,0))

 

分別用MATCH函數(shù),得到數(shù)據(jù)在相關(guān)區(qū)域中所對(duì)應(yīng)的序號(hào),作為OFFSET的偏移量,分別放入第二、三參數(shù)中。從基準(zhǔn)點(diǎn)A1單元格偏移后的單元格,就是我們需要的成績(jī)值。

 

通過(guò)上面的內(nèi)容,我們不難發(fā)現(xiàn)OFFSET函數(shù),往往都是和MATCH函數(shù)連用。因?yàn)?span style="text-transform:uppercase">Match函數(shù)可以找到關(guān)鍵字在一個(gè)數(shù)列中的序號(hào),所以我們經(jīng)常利用這個(gè)函數(shù)來(lái)確定OFFSET函數(shù)的偏移量。

 

【編后語(yǔ)】

 

如果你是剛學(xué)習(xí)OFFSET函數(shù)的同學(xué),我相信這個(gè)函數(shù)對(duì)于你來(lái)說(shuō)應(yīng)該不好理解,可我還是建議你,一定要多練習(xí),要學(xué)會(huì)它。不要怕出錯(cuò),從錯(cuò)誤中可以發(fā)現(xiàn)很多的問(wèn)題,也可以鞏固你對(duì)一個(gè)函數(shù)的認(rèn)知。

 

下一篇OFFSET函數(shù)的文章我們將進(jìn)行一些高級(jí)的用法說(shuō)明,絕對(duì)是你工作中會(huì)使用到的,所以如果你今天沒(méi)有看懂,不要急,再看再體會(huì),當(dāng)然也可以來(lái)找老師,我們一起努力學(xué)會(huì)它。

 

本文配套的練習(xí)課件請(qǐng)加入QQ群:264539405下載。

Excel高手,快速提升工作效率,部落窩教育《一周Excel直通車》視頻和《Excel極速貫通班》直播課全心為你!

掃下方二維碼關(guān)注公眾號(hào),可隨時(shí)隨地學(xué)習(xí)Excel

IMG_256

相關(guān)推薦:

VLOOKUP&LOOKUP的逆向查詢VLOOKUP&LOOKUP雙雄戰(zhàn)(四):在橫向和逆向查詢上的血拼!

一維表與二維表的轉(zhuǎn)換致命缺陷:不懂一維表!

MATCH函數(shù)的應(yīng)用《MATCH:函數(shù)哲學(xué)家,找巨人做伴。新出道必學(xué)!