在excel的眾多函數裡,offset的作用可以說是非同一般,可是這個函數往往也令很多初學者摸不著頭腦,因為這個函數非常的靈活多變。要明白這個函數的意思其實不難,通過幾個例子完全可以了解,比如下面幾個例子:
=OFFSET(A1,2,1,1,1),這個公式的意思就是a1單元格向下2行,向右1列,1行1列(就是1個單元格)的位置裡的數據。
上面圖裡的公式的意思就是b2單元格向上1行,向右0列,1行1列的位置裡的數據。
通過這兩個例子我們先來解釋一下offset的參數的含義,offset函數一共有五個參數,意義如下:第一個參數就是一個參考位置,相當於座標中的原點;第二個參數是相對於這個原點移動的行數,正數向下,負數向上,0則代表同一行;第三個參數是相對於這個原點移動的列數,正數向右,負數向左,0則代表同一列;第四個參數的意思是根據原點和移動對應的行數列數之後需要的範圍的高度(行數);第五個參數的意思是根據原點和移動對應的行數列數之後需要的範圍的寬度(列數);比如前面兩個例子裡,第四和第五參數都是1,就代表我們想得到的是一個單元格的內容。
通常對於前三個參數都比較容易理解,就是最後兩個參數不明白怎麼用,再看一個例子:
這裡OFFSET(A1,1,2,2,2)就代表a1向下一行向右兩列(就是c2)開始的兩行兩列的範圍,也就是c2:d3這個範圍,我們用sum來體現對offset引用區域後求和的結果。
通過以上三個例子,了解offset的基本功能就是通過一個單元格和行列偏移量來進行對一個區域(單元格可以看做是一行一列的區域)的引用,不過要想靈活應用offset函數,還需要結合實際問題,發現引用數據的規律以後,才能活學活用。
需要特別說明的是,offset五個參數裡有四個是數字,要用活這個函數,對於數字序列的構造是必不可少的一個基本功,關於數字序列的構造方法明天我們再來詳細聊聊。
下面再通過兩個offset的實際案例看看具體應用方法:
案例一:隔行取數,將左邊的格式調整為右邊的格式,當然有多種方式可以實現,但是用一個offset公式可以很容易的實現這個目的。
d2複製公式:=OFFSET(A$1,ROW(A1)*2-1,0,1,1),向右拉再向下拉就可以達到目的,這裡就是利用了行號函數(row)構造了一個數列作為offset的第二個參數,實現了隔行取數的效果,需要注意的是第一參數使用了混合引用,這個是屬於相對引用和絕對引用的概念了,有不清楚的朋友可以查看之前的內容。
案例二:動態區域求和問題
方法1:M3的公式 =SUM(OFFSET($A2,1,1,1,$J$1))
方法2:M3的公式 =SUM(OFFSET($A$2,ROW(A1),1,1,$J$1))
對照方法1和2,可以理解offset參數使用中的差異:
案例三:行列轉換的問題
=OFFSET($A$1,COLUMN(A1)*5-6+ROW(A1),,,),這裡說明一點,offset的二、三參數省略默認是0,四、五參數省略默認是1,上面這個公式等價於=OFFSET($A$1,COLUMN(A1)*5-6+ROW(A1),0,1,1)。
關於offset的應用舉不勝舉,這裡就不多說了,能理解基本用法,遇到問題多思考,總有一天會得心應手的。
有任何疑問歡迎加qq群交流:EXCEL基礎學習群 259921244
結語:大量粉絲還沒有養成閱讀後點讚的習慣,希望大家在閱讀後順便點讚,以示鼓勵!長期堅持原創真的很不容易,多次想放棄。堅持是一種信仰,專注是一種態度!
掃描二維碼或者長按指紋,關注「老菜鳥的巢」,每天都有一篇《辦公秘籍》