web-dev-qa-db-ja.com

スプレッドシート列の最初の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などの数式はすべてかなり似ているようです。他のスプレッドシートで機能する提案がある場合は、しないでください。」控えてください。

3
kwiqsilver

OFFSET関数をSUMと組み合わせて使ってみませんか?合計する列の最初の行にオフセットをアンカーし、別のセルに入力した値Nを使用して、オフセットが返す範囲参照の高さを設定します。

たとえば、列AKを合計し、セルAZ1で合計する行数を指定したとします。合計を行う式は次のようになります。

    =SUM(OFFSET(AK$1,1,0,AZ1,1))

これは配列数式であるため、CTRL-SHIFT-ENTERを使用して入力する必要があります。

1
chuff