8

固定レベルから列の最後のセルまで、すべての列セルの合計を計算する Excel 式が必要です。Like : S5 から最後の S セルまでの SUM。
試しSUM(S5:S)ましたが、うまくいきません。

行数のセルがあります。次のような数式で変数を使用できますSUM(S5:S & A1)か? A1 には行数が含まれていますか?

4

3 に答える 3

10

あなたは試すかもしれません=SUM(OFFSET(S5,0,0,ROWS(S:S)-ROW(S5)+1))

于 2012-04-18T14:30:30.660 に答える
3

A2 から列 A の最後までのすべてのセルを合計するには、次を使用できます。

=SUM(A2,INDIRECT("A2:A" & ROWS(A:A)))

これは、セル A1 に入力しても機能します。

于 2015-11-25T04:20:53.827 に答える
0

TL;DRNamedRange : s とを使用することをお勧めし=INDEX(NamedRange, ROW()):INDEX(NamedRange, COUNTA(NamedRange))ます。これは、入力データが変更された場合 (サイズと値の両方)、スプレッドシートが変更された場合 (列/行の増減) の両方で適切に動作します。このコンストラクトは、 など、配列をパラメーターとして受け取る任意の関数への入力として使用できますXLOOKUP()


INDEX()私は今日、これに対する解決策を探していましたが、範囲に基づいて名前を付けたものを思いつきましたINDIRECT(). 演習は次のとおりです。

パート 1 : 入力配列の作成

  • 新しいシートで、数値の単純な配列を作成することから始めます。セル A1 に移動し、 と入力し=SEQUENCE(10)ます。これにより、1 から 10 までの数字を持つ配列 A1:A10 が作成されます。

パート 2 : に基づくソリューションINDIRECT()

  • セル B1 に移動し、 と入力し=INDIRECT("A"&ROW()):INDIRECT("A"&COUNTA(A:A))ます。

  • これには 2 つの部分があります。1 つはコロンの前、もう 1 つはコロンの後にあります。あなたが探している最終的な結果は A1:A10 ですよね?

  • コロンの前の部分は、列文字への固定参照"A"、およびROW()現在の行の番号を取得する関数を使用しています。これは、データが最初の行から始まらない場合にこのソリューションが機能するようにするためです (単なる詳細、本当に)。&慣れていない方のために説明すると、このビットは文字列を連結するために使用されます。"A"最後に、固定文字とから来る数字から文字列「A1」を作成していROW()ます。

  • コロンの後の部分は似ていますが、処理中の配列の最後の項目の行番号を取得しようとしています。COUNTA()これは、配列A:Aを入力として渡す関数を使用して行います。

  • 列 B に入力配列のコピーが表示されます。テストするために、配列に 2 を掛けます。セル C1 に移動し、 と入力し=INDIRECT("A"&ROW()):INDIRECT("A"&COUNTA(A:A))*2ます。入力配列が 2 倍になっていることがわかります。

パート 3 : に基づくソリューションINDEX()

  • このソリューションには、名前付き配列が必要です。これを行うには、列 A を選択します。名前ボックス (右上隅、セルの近く、リボンの下) には、おそらく A1 が表示されます。そこをクリックして、範囲に名前を付けます。たとえば、NUMBERS.

  • セル D1 に移動し、 と入力し=INDEX(NUMBERS, 1):INDEX(NUMBERS, COUNTA(NUMBERS))ます。入力配列のさらに別のコピーを取得します。

  • 最後に、セル E1 に移動して と入力し=INDEX(NUMBERS, 1):INDEX(NUMBERS, COUNTA(NUMBERS))*2ます。さらに別の二重配列。

パート 4 : テスト

  • まず第一に、項目が入力配列に追加または削除されると、動的操作は適切に動作するはずです。セル A1 に移動し、SEQUENCE()パラメーターを 5 に変更します。次に、20 に変更します。列 B から E までの他のすべての配列は、自動的にサイズ変更されます。これは、両方のソリューションが機能することを示しています。

  • 最後のテスト: A の前に列を追加します。列 C と D になるものがどうなるかを確認します。

はい、スプレッドシートの構造を変更すると、に基づくソリューションINDIRECTはうまく動作しません。まだ検討していないこれを解決する方法があるかもしれませんが、今INDEXのところ、範囲に固執して名前を付けます。誰かがこれに基づいてソリューションを「修正」する方法を提案した場合、INDIRECT()これを編集できます。

名前付き範囲の詳細については、こちらを参照してください。

于 2021-11-04T00:47:52.110 に答える