早安,
我需要將此輸出放在單獨的工作表上,但本質上我試圖解決的問題可以解釋如下。
我試圖弄清楚如何使用以下格式對列中的單元格進行平均:
在B2
Sheet2 上,我想要average(Sheet1!a2:a5)
、 在B3
、、average(Sheet1!a6:a9)
在B4
、 (Sheet1!a10:a13) 等。
我可能已經使這變得比必要的更加複雜,但我的想法是使用 Offset 函數,如下所示:
=AVERAGE(OFFSET(Sheet1!$a$2, 4*(ROW()-ROW(Sheet1!$a$2)), 0, 4, 1))
哪個有效!但是,我需要另一列來顯示不同的數據,如下所示:
=AVERAGE(OFFSET(Sheet1!$a$118, 4*(ROW()-ROW(Sheet1!$a$118)), 0, 4, 1))
這給了我一個參考錯誤。誰能幫助我理解為什麼這不起作用?一個簡單的解決方案將不勝感激,但解釋為什麼會特別好!
答案1
是的,所以我們將為您的第一個公式使用不同的公式 -
=AVERAGE(INDEX(A:A,1+4*(ROW()-ROW($B$1))):INDEX(A:A,4*(ROW()-ROW($B$1)+1)))
其作用是建立一個陣列供平均值處理。它透過為範圍的每一側查找當前行、減去參考行、加 1 並乘以 4 來實現此目的。使用評估公式來查看它的實際效果。
假設您想再次執行此操作,但從 A118 開始,我想這就是您要問的
=AVERAGE(INDEX(A118:A999,1+4*(ROW()-ROW($B$118))):INDEX(A118:A999,4*(ROW()-ROW($B$118)+1)))
現在,這要求您在第 118 行完成工作,但假設您只想在第 1 行開始一個新列 -
=AVERAGE(INDEX(A118:A999,1+4*(ROW()-ROW($B$1))):INDEX(A118:A999,4*(ROW()-ROW($B$1)+1)))
就像第一個一樣。