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