- Excel 百科電子報
- Posts
- 你還在手動改公式範圍嗎?用 OFFSET 讓報表自動更新!
你還在手動改公式範圍嗎?用 OFFSET 讓報表自動更新!
早安!
今天的內容會跟你分享:
用 OFFSET 讓你的報表自動更新!
好句分享
用 OFFSET 讓你的報表自動更新!
在處理 Excel 報表時,很多人都會遇到這樣的情況:
每個月都會新增一筆資料到表格最下方,
想要自動計算「最近 3 個月的平均值」,
但又不想每次都手動改公式!
這種時候,
只要學會使用 OFFSET 函數,
不用改公式,
就可以讓 Excel 自動幫你抓最新的 3 筆資料。
現在我們有一份銷售報表,
每個月都會新增一筆資料在下方,
要計算「最新三個月的平均銷售金額」:
步驟一:先理解 OFFSET 的基本用法
OFFSET 的語法是:
=OFFSET(起點, 向下幾列, 向右幾欄, 高度, 寬度)
OFFSET 會從一個儲存格(起點)出發,
往下/ 往右移動,
然後抓出一塊你指定大小的範圍。
舉個簡單的例子:
如果我們想抓出 3 ~ 5 月的銷售數字,
可以這樣寫公式
=OFFSET(C3,2,0,3,1)
也就是從儲存格 C3 出發,
往下 2 格,
不往右,
抓出 3 筆資料(高度是 3,寬度是 1)。
我們就可以得到 C5 到 C7 儲存格(1100, 1360, 和 3000)3 筆資料。
*因為舊版 Excel 不支援動態陣列,OFFSET 抓到的多格範圍不會自動顯示出來,可以搭配 AVERAGE 函數,看平均值是否正確,來確認抓到的範圍有沒有問題。
接下來我們要讓這個範圍能夠自動往下延伸,
追蹤「最新的 3 筆資料」!
步驟二:建立動態範圍,抓出最新的 3 筆資料
剛才 =OFFSET(C3,2,0,3,1) 是從 C3 儲存格出發,
往下數 2 格(第二部分的引數),
但我們想要找到最近 3 個月的資料,
每次往下數的格數會不一樣。
這時候可以用 COUNTA 函數來計算出要往下數幾列,
才會抓到倒數第 3 筆資料。
COUNTA(C:C) 可以計算出 C 欄有多少個儲存格有資料。
現在 COUNTA(C:C) 的計算結果是 6(標題也會被算進去),
減掉需要往回抓的資料筆數(這裡是「 3 筆」),
公式會變成 COUNTA(C:C)-3。
因為標題也會被計算進去,
所以還要再多扣 1,
公式改成 COUNTA(C:C)-4。
得到的結果會是 2,
和原本公式裡第二部分的引數 2 相同,
所以可以用 COUNTA(C:C)-4 取代它。
=OFFSET(C3,2,0,3,1) → =OFFSET(C3,COUNTA(C:C)-4,0,3,1)
這樣的寫法能確保你不管新增幾筆資料,
公式都會自動只抓最後三個月的資料!
步驟三:計算平均
已經抓出最近 3 個月的銷售金額,
最後只要在公式外面包上 AVERAGE 函數,
=AVERAGE(OFFSET(C3,COUNTA(C:C)-4,0,3,1))
就可以算出最近 3 個月的銷售平均!
🧑💻 小提醒:Offset 在 VBA 裡也超常用!
(Excel VBA 是幫助我們自動化的工具,
讓我們快速完成重複性的工作,像是清理資料、美化報表等等)
Offset 除了在 Excel 公式中使用,在 Excel VBA 裡也是很常用的語法!
簡單舉例:
Range("B2").Offset(1, 0).Value = "Excel 百科"
意思是:B2 儲存格往下數 1 格(也就是 B3),貼上「Excel 百科」。
在寫自動填表、搬資料或製作報表的 VBA 時,Offset 幾乎是必備工具!
不知道你對自動化 Excel 是不是有興趣呢? |
如果有興趣,也歡迎跟我們分享你最想自動化 Excel 裡的什麼步驟、報表類型,
之後可以出這方面的教學哦!
好句分享
「效率就是把已經在做的事情,用更棒的方式完成。」- 彼得・杜拉克
“Efficiency is doing better what is already being done.” - Peter Drucker
祝你有個美好的一週!
Excel 百科
你覺得今天的電子報怎麼樣? |
如果你覺得我們的電子報很讚,可以分享連結邀請你的朋友,一起學習!
有 Excel 相關問題嗎?歡迎到問題投稿