
我正在嘗試對列中的前 N 個元素求和,其中 N 是另一個單元格中的值。我想出了這個:
=sum(B1:indirect(concatenate("B", A10)))
其中 A10 包含 N。我嘗試使用該column()
函數,但它會傳回一個數字,而不是字母。我試過
=char(code("A") + column() - 1)
但是一旦列到達AA
,這就會失敗,而我已經在AK
了。我可以在那裡進行模 26 測試,但我認為必須有一種更簡單的方法來獲取列字母程式碼,或進行變數求和。
我使用的是 Apple Numbers,但 Numbers、Excel、LibreOffice 等中的公式似乎都相當相似,因此,如果您有適用於其他電子表格的建議,請不要猶豫。
答案1
為什麼不將 OFFSET 函數與 SUM 結合使用?將偏移量錨定在要求和的列的第一行中,然後使用您放入另一個儲存格中的值 N 來設定偏移量傳回的範圍所引用的高度。
例如,假設您要對 AK 列求和,並且已在儲存格 AZ1 中指定要求和的行數。求和的公式為:
=SUM(OFFSET(AK$1,1,0,AZ1,1))
這是一個陣列公式,因此需要使用 CTRL-SHIFT-ENTER 輸入。