假如我對自己每天的花銷進行記錄,時間一長,我們的報表就會變得很長,所以當我們想看到今天的花銷的時候,我們就可以使用OFFSET函數(shù)的引用功能。
OFFSET函數(shù)是返回對單元格或單元格區(qū)域中指定行數(shù)和列數(shù)的區(qū)域的引用。 返回的引用可以是單個單元格或單元格區(qū)域。 可以指定要返回的行數(shù)和列數(shù)。
在Excel2013版本的幫助中顯示,OFFSET的語法是:OFFSET(reference, rows, cols, [height], [width])。第一個參數(shù)為參考點,第二個參數(shù)為偏移的行數(shù),第三個為偏移的列數(shù),第四個參數(shù)和第五個參數(shù)則不是必須填寫的,其中height代表需要返回的引用的行高,width代表需要返回的引用的列寬。
這里要提到的是,2007、2010和2013版本中有一個Bug。在offset的幫助信息中是這么說的:Height 必須為正數(shù),Width 必須為正數(shù)。經(jīng)過筆者驗證,這是錯誤的信息,高度和寬度這部分,即使填了負值也是有意義的。
在前面的那張圖片中,可能有的人會說,那我直接輸入“=offset(A1,8,0)”就可以了啊,可是這樣的話,我們再次輸入一個新的花銷的時候難道還有到上面把行的移動數(shù)再改變么?
COUNTA 函數(shù)計算范圍中不為空的單元格的個數(shù)。其函數(shù)形式為:COUNTA(value1, [value2], ...)。其中“value1”參數(shù)為必需, 表示要計數(shù)的值的第一個參數(shù)?!?/span>value2, ...”則為可選,表示要計數(shù)的值的其他參數(shù),在2013版本中最多可包含 255 個參數(shù)。
那么,我們首先可以寫出關(guān)于計算A列非空單元格的函數(shù),“=counta(A:A)',回車后返回的便會是A列非空單元格的數(shù)目,其中函數(shù)中的”A:A“代表的是整個A列。
那么我們可以這樣寫”=OFFSET(A1,COUNTA(A:A)-1,0)“。就可以對最后一行進行動態(tài)引用了!
當然,我們也可以這樣寫"=OFFSET(A1,COUNTA(A:A)-1,0,1,1)",最后面的"1,1"表示引用的區(qū)域大小是一行一列,也就是一個單元格。
那么金額那一部分的引用就是”=OFFSET(B1,COUNTA(B:B)-1,0)“。另外,大家需要注意的是,即使某天花銷為0,在上式的條件下,我們也需要在單元格內(nèi)輸入0,否則會因為數(shù)列中出現(xiàn)了空格,而對引用的位置產(chǎn)生了錯誤計算。
還有要提到的就是,很多人在用OFFSET函數(shù)引用之后,日期部分卻變成了一個數(shù)值,這是由于單元格格式出了問題,這是只需要右鍵選擇“設(shè)置單元格格式”,選擇為“日期格式”,最后出現(xiàn)的結(jié)果就會是正確的日期了!