スプレッドシートの列の最初のN要素を合計する

スプレッドシートの列の最初のN要素を合計する

列の最初の 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 を使用して入力する必要があります。

関連情報