小小的OFFSET函數(shù)讓大家云里霧里,幾度關(guān)心但從未徹底理解其精髓。從復(fù)雜的數(shù)據(jù)匯總到數(shù)據(jù)透視表乃至高級動(dòng)態(tài)圖表都離不開OFFSET函數(shù)。這些應(yīng)用無論多復(fù)雜,只要我們理解OFFSET精髓,一切迎刃而解!
下面就用一張簡陋而又簡單的圖例來理解OFFSET。
1、將A1單元格內(nèi)容克隆到D1單元格,在D1單元格輸入=OFFSET(A1,0,0),D1顯示“產(chǎn)品”

2、將OFFSET(A1,0,0)第二個(gè)參數(shù)0改成1,即改成=OFFSET(A1,1,0) ,寫入D1單元格中,D1單元格顯示“A”,如下圖

3、如果將=OFFSET(A1,0,0)第二個(gè)參數(shù)改成2呢,想一下D1單元格會(huì)顯示什么?
答案,如下圖

相信大家已經(jīng)看明白了,OFFSET(A1,2,0)的第二個(gè)參數(shù),是以A1為基準(zhǔn),向下移動(dòng)幾個(gè)單元格。而第一個(gè)參數(shù)就是基準(zhǔn)單元格。另外,第三個(gè)參數(shù)寫幾,就是以基準(zhǔn)單元格向右移動(dòng)幾個(gè)單元格。
思考一下,要在D1單元格中克隆B3的內(nèi)容,以A1為基準(zhǔn)OFFSET參數(shù)應(yīng)該怎么寫。
D1單元格=OFFSET(A1,2,1),如下圖:

現(xiàn)在,大家徹底明白OFFSET(A1,2,1)函數(shù)的這3個(gè)參數(shù)的作用了吧,OFFSET(基準(zhǔn)單元格,縱向偏移,橫向偏移)。
但是OFFSET偏偏有5個(gè)參數(shù),我們剛才只用了前3個(gè)參數(shù),剩下兩個(gè)是干嘛用的呢,有些伙伴是不是又開始頭疼了。其實(shí)很簡單,繼續(xù)往下看。
我們把文章開篇第一幅圖例搬下來,依然將A1單元格內(nèi)容克隆到D1單元格,但是這次要修改一下參數(shù),把OFFSET(A1,0,0)三個(gè)參數(shù)修改為OFFSET(A1,0,0,1,1)五個(gè)參數(shù),寫入D1單元格,3參數(shù)和5參數(shù)的輸出結(jié)果一樣,D3顯示“產(chǎn)品”,如下圖:

看到這里,大家以為,既然3參數(shù)和5參數(shù)輸出結(jié)果相同,直接用3參數(shù)多簡單?5參數(shù)恰恰就是OFFSET的精髓所在。
以下圖為例,使用OFFSET函數(shù)一次性克隆A1和B1 到D1和E1

現(xiàn)在把OFFSET第五個(gè)參數(shù)改動(dòng)一下,由OFFSET(A1,0,0,1,1)改為OFFSET(A1,0,0,1,2),寫入D3和E3單元格,同時(shí)寫入D3和E3單元格?對!你沒看錯(cuò),我也沒寫錯(cuò)!關(guān)鍵就在這,怎么寫入?
選擇D3和E3單元格,寫入=OFFSET(A1,0,0,1,2)。注意?。?!注意:寫入后按下Ctrl+Shift+Enter,函數(shù)才能生效!??! 這就是為什么有些伙伴總出錯(cuò)的原因?。?!

注意:函數(shù)兩邊的花括號,不是寫上去的,按下Ctrl+Shift+Enter自動(dòng)生成的!這就是數(shù)組概念,數(shù)組以后給大家介紹。先搞懂OFFSET!

到這里,大家應(yīng)該領(lǐng)悟到第五個(gè)參數(shù)的真諦了吧,第五個(gè)參數(shù)是2,就是返回以第一個(gè)參數(shù)A2單元格為基準(zhǔn),橫向兩個(gè)單元格的內(nèi)容,輸出單元格也要同時(shí)選擇橫向兩個(gè)單元格。不然,輸出只選一個(gè)單元格的話 ,放不下, 它只能報(bào)錯(cuò)了!
那么,第四個(gè)參數(shù)干嘛用的? 就是克隆顯示縱向的單元格數(shù)量。
思考下圖,如何利用OFFSET一次性克隆A1:B2區(qū)域到D1:E2區(qū)域。

有些伙伴應(yīng)該會(huì)做了,OFFSET(以A1單元格為基準(zhǔn),0,0,返回橫向2個(gè)單元格區(qū)域,返回縱向2個(gè)單元格區(qū)域)。 這就是OFFSET(),5個(gè)參數(shù)的原理!自己任意改改參數(shù)體會(huì)一下吧,同時(shí)輸出顯示多個(gè)單元格時(shí)候不要忘記按Ctrl+Shift+Enter。
明白原理后,我們來看一個(gè)應(yīng)用。
利用OFFSET的前3個(gè)參數(shù),將多列轉(zhuǎn)置成多行。

在A10單元格寫入函數(shù)=OFFSET($A$1,COLUMN(A1)-1,ROW(A1)-1),填充A10:E11,就會(huì)看到上圖的效果。在這里COLUMU(A1)返回“1”,ROW(A1)返回“1”,所以解析A10單元格函數(shù)OFFSET(A1,0,0), 這樣大家很容易就可以看懂了。
OFFSET所能完成任務(wù)遠(yuǎn)遠(yuǎn)不止這么簡單,我會(huì)陸續(xù)給大家介紹更多應(yīng)用。
最后,建議大家使用EXCEL2013或2016版本,沒有的伙伴可以私信我,回復(fù)“2016”獲取。