某讀者,,領(lǐng)導(dǎo)要她統(tǒng)計1-3月的數(shù)據(jù),,她用最原始的方法搞了4個小時。下個月又得重新將所有公式改變一次,,想想都是一件恐怖的事,。
這是一份簡化后的表格,實際表格內(nèi)容非常多,。
累計,,統(tǒng)計每個城市的店鋪1-3月數(shù)據(jù),。
每個城市的店鋪,格式都一樣,,記錄著每個月的數(shù)據(jù),。
她原先的做法,每個表每個單元格逐一加上去,。
=深圳!E4+深圳!F4+深圳!G4
=廣州!E4+廣州!F4+廣州!G4
=佛山!E4+佛山!F4+佛山!G4
舉例模擬的數(shù)據(jù)量很少,,不用花多久就可以搞定,而實際上內(nèi)容非常多,,按原來的表格,,確實需要花幾個小時才可以。
這樣好不容易寫完公式,,領(lǐng)導(dǎo)突然改變主意,要統(tǒng)計1-2月或者1-4月,,直接就崩潰,,又得改一次。
理解清楚了用意,,提供了這么一條公式,,只要J1這個單元格改變,就可以自動累計1-N個月的數(shù)據(jù),。
=SUM(OFFSET(INDIRECT(E$2&"!e1"),ROW()-1,0,1,$J$1))
現(xiàn)在以深圳為例,,進行說明。現(xiàn)在要獲得1-3月的數(shù)據(jù),。
如果不考慮變動,,可以這樣寫公式。
=SUM(深圳!E4:G4)
但實際上月份是需要改變的,,也就是說區(qū)域要改變,。
OFFSET函數(shù)語法說明:
=OFFSET(起點,向下幾行,向右?guī)琢?行高,列寬)
起點:深圳!$E$1
向下幾行:3
向右?guī)琢校?/span>0
行高:1
列寬:$J$1決定
將內(nèi)容嵌套進去:
=SUM(OFFSET(深圳!$E$1,3,0,1,$J$1))
深圳這個希望右拉公式變成廣州,這時就得引用單元格才可以,。
=SUM(OFFSET(INDIRECT(E$2&"!$E$1"),3,0,1,$J$1))
向下3行,,希望下拉公式變成4行,這時就得借助ROW函數(shù),。
=SUM(OFFSET(INDIRECT(E$2&"!$E$1"),ROW(A3),0,1,$J$1))
而最終公式是寫ROW()-1,,而不是ROW(A3)怎么回事?
她的原始表格是不連續(xù)區(qū)域的,,寫ROW(A3)這個下拉的時候會改變,,而復(fù)制到其他區(qū)域是不會改變。
而ROW()-1則不同,,不管是下拉,,還是復(fù)制,,行號都會自動改變。
問題到此就解決了,。