今天教同事 Excel 中的 OFFSET 函數的觀念時,使用了累加數值(如下圖)的範例。
儲存格B2:=SUM($A$2:A2)
複製儲存格B2,往下各列貼上即可。
我們要利用 OFFSET 函數練習達到這個效果,該如何處理?
儲存格B2:=SUM(OFFSET($A$2,0,0,ROW(2:2),1))
複製儲存格B2,往下各列貼上。
其中 OFFSET($A$2,0,0,ROW(2:2),1) 在往下各列複製時,效果等同$A$2:A2。
【補充說明】
相關函數說明,請參考微軟網站:
OFFSET:http://office.microsoft.com/zh-tw/excel-help/HP010342739.aspx
|
OFFSET 函數:傳回根據所指定的儲存格位址、列距及欄距而算出的參照位址。 |
|
語法:OFFSET(reference, rows, cols, [height], [width]) Reference:用以計算位移的起始參照位址。 Rows:左上角儲存格要往上或往下參照的列數。Rows可以是正數(表示在起始參照位址下方)或負數(表示在起始參照位址上方)。 Cols:左上角儲存格要往左或往右參照的欄數。Cols 可以是正數(表示在起始參照位址右方)或負數(表示在起始參照位址左方)。 Height:所傳回參照位址的高度 (以列數為單位)。Height 必須是正數。 Width:所傳回參照位址的寬度 (以欄數為單位)。Width 必須是正數。 |
文章標籤
全站熱搜

老師您好: 有個問題想請問一下,一個月按30天來算,因應每天上班時間的不同可分為早、晚、全天班三種,不知要如何設計才能讓我打上的時間後,系統會自行分成這三類,並把各自的天數用三個格子各自顯示出來。 例如上班時間A1,下班時間A2,9-16:早班、14-21:晚班、9-21全天班,如果您知道方法,還請您指點迷津,感謝。
請參考:http://isvincent.pixnet.net/blog/post/45910559
*****
*****
謝謝老師的解答
不用客氣!
公式太高深了,後來我直接用 =SUM($A$2:A2),最上層A2固定後往下拉。好像也可以!
能解決問題的方法都是好方法
幫幫忙~計算金額 1-30 *50 31-60 *70 61-90 *90 比方數字86 是多少 26是多少 execl公式要如何
假設數字在儲存格A1,試試以下公式: =A1*((A1>0)*(A1<31)*50+(A1>30)*(A1<61)*70+(A1>60)*(A1<91)*90)
請教一下~ 以您上方的數值-累加的例子來看 有什麼方法可以從A2開始往下逐一累加數值到剛好超過某一定數(例如500),並回傳是"A2往下累加到第幾個儲存格時剛好超過500"到B1儲存格呢?
感謝老師的網站教學,讓我獲益良多,在excel的使用上進步了許多。
謝謝你光臨我的網站。
請問老師,有辦法以一格陣列公式,取代「往下拉」的動作嗎? 例如排序,可以「=LARGE(A:A,ROW(1:17)」完成。累加的情況,有類似辦法嗎 又,如果要以公式取出前五項總和,按照老師的例子,只需直接取儲存格B6的值。 可是這樣一來,整個B欄其實只是運算過程,那麼有辦法以函數公式省略B欄嗎? 又,如果是要取前任意項總和,例如在C1儲存格鍵入5,就在C2儲存格傳回前五項總和,在C1儲存格鍵入7,則在C2儲存格傳回前七項總和,有辦法嗎? 又,如果要先對A欄進行排序再取出前五項總和,排序以「=LARGE(A:A,ROW(1:17))」放在C欄,再用需要往下拉的方式在D欄進行累加,取D6的值。 但是這麼一來就變成C欄和D欄也是運算過程,那麼有辦法又以函數公式來省略這兩步,直接從A欄中取出排序前五項總和嗎? 承上綜項,請問有辦法直接從A欄中,取最高任意項總和嗎?
請參考:http://isvincent.pixnet.net/blog/post/47694840
看到盜文網站 http://isvincent.blogspot.com/2012/07/excel-offset.html?m=1
謝謝你! http://isvincent.blogspot.com 是我備份在Blogger的部落格。