- ベストアンサー
Excel:合計が一番上になる形で、毎日データを加算してゆきたい
力をお貸しください。 おそらく、過去もこの質問はあったと思うのですが 見つけられなくて…(><) 依頼されたExcelの計算表を作っています。 条件は下記の2点。 ・合計が一番上に来ること ・毎日出る数値を下に付け加えてゆくだけで 一番上の合計が変わること 依頼人はExcelに大変弱く ただ数値を打ち込めば合計数が出る表が必要な様です。 Σの範囲をいちいち指定し直さなくても良い方法があれば ご教授頂けるとありがたく思います。 宜しくお願いいたします!(><)
- みんなの回答 (9)
- 専門家の回答
質問者が選んだベストアンサー
A1が合計セルで、A3からが数量セルだとすれば、 A1に=SUM(A3:A65536)としてしまえば良いのでは?
その他の回答 (8)
- imogasi
- ベストアンサー率27% (4737/17069)
加算データの開始行は第2行として データ終了行を割り出すのは以外に難しいのではないでしょうか。 COUNTA(A1:A30)のようにA30や既回答のように Aの行数の大きいものを指定すると、その中間に、別のデータがあるとおかしくなります。これら(定数)を使わないとすると Function nonsp() i = 2 While Cells(i, "A") <> "" i = i + 1 Wend nonsp = i - 1 End Function のようなVBAのユーザー関数(Function)でも作らないと、うまくいかないと思います。 そしてA1に =SUM(INDIRECT("A2:A"&nonsp())) と入れる。 A30までに他のデータが入らないという保障があれば =SUM(INDIRECT("A2:A"&COUNT(A1:A30)))などでうまく行くようです。
- imogasi
- ベストアンサー率27% (4737/17069)
加算データの開始行は第2行として データ終了行を割り出すのは以外に難しいのではないでしょうか。 COUNTA(A1:A30)のようにA30や既回答のように Aの行数の大きいものを指定すると、その中間に、別のデータがあるとおかしくなります。これら(定数)を使わないとすると Function nonsp() i = 2 While Cells(i, "A") <> "" i = i + 1 Wend nonsp = i - 1 End Function のようなVBAのユーザー関数(Function)でも作らないと、うまくいかないと思います。 そしてA1に =SUM(INDIRECT("A2:A"&nonsp())) と入れる。 A30までに他のデータが入らないという保障があれば =SUM(INDIRECT("A2:A"&COUNT(A1:A30)))などでうまく行くようです。
- imogasi
- ベストアンサー率27% (4737/17069)
加算データの開始行は第2行として データ終了行を割り出すのは以外に難しいのではないでしょうか。 COUNTA(A1:A30)のようにA30や既回答のように Aの行数の大きいものを指定すると、その中間に、別のデータがあるとおかしくなります。これら(定数)を使わないとすると Function nonsp() i = 2 While Cells(i, "A") <> "" i = i + 1 Wend nonsp = i - 1 End Function のようなVBAのユーザー関数(Function)でも作らないと、うまくいかないと思います。 そしてA1に =SUM(INDIRECT("A2:A"&nonsp())) と入れる。 A30までに他のデータが入らないという保障があれば =SUM(INDIRECT("A2:A"&COUNT(A1:A30)))などでうまく行くようです。
- imogasi
- ベストアンサー率27% (4737/17069)
加算データの開始行は第2行として データ終了行を割り出すのは以外に難しいのではないでしょうか。 COUNTA(A1:A30)のようにA30や既回答のように Aの行数の大きいものを指定すると、その中間に、別のデータがあるとおかしくなります。これら(定数)を使わないとすると Function nonsp() i = 2 While Cells(i, "A") <> "" i = i + 1 Wend nonsp = i - 1 End Function のようなVBAのユーザー関数(Function)でも作らないと、うまくいかないと思います。 そしてA1に =SUM(INDIRECT("A2:A"&nonsp())) と入れる。 A30までに他のデータが入らないという保障があれば =SUM(INDIRECT("A2:A"&COUNT(A1:A30)))などでうまく行くようです。
- imogasi
- ベストアンサー率27% (4737/17069)
加算データの開始行は第2行として データ終了行を割り出すのは以外に難しいのではないでしょうか。 COUNTA(A1:A30)のようにA30や既回答のように Aの行数の大きいものを指定すると、その中間に、別のデータがあるとおかしくなります。これら(定数)を使わないとすると Function nonsp() i = 2 While Cells(i, "A") <> "" i = i + 1 Wend nonsp = i - 1 End Function のようなVBAのユーザー関数(Function)でも作らないと、うまくいかないと思います。 そしてA1に =SUM(INDIRECT("A2:A"&nonsp())) と入れる。 A30までに他のデータが入らないという保障があれば =SUM(INDIRECT("A2:A"&COUNT(A1:A30)))などでうまく行くようです。
お礼
imogasiさん 5回もお返事をくださってありがとうございました。 私自身もExcelは苦手な部類でして… 仰っている事が難しすぎて分かりません。。 折角のアドバイスを活かせず、申し訳ありません(><
- de_vo
- ベストアンサー率28% (148/523)
まずは、一番上に合計と言うことで「ウィンドウ枠を固定」して常に合計が表示されているようにしたほうが便利ですね。 合計セルの範囲は皆さんが答えてる方法で良いかと。 私としては、普通に表を作って累計の列を作り新しいデータを入力したら累計のひとつ前の累計の計算式をコピーペーストして合計を出す。こちらの方がいちいち一番上に合計を持っていかなくても良いし、Exelが解らなくても出来るし、毎日の累計が見れて良いと思うんですが・・・
お礼
de_voさん ありがとうございます。 数字を打つだけにして貰えると有難いといわれましたので 出来ればコピペもしなくて済む方が良い様です。 ありがとうございました☆
- Turbo415
- ベストアンサー率26% (2631/9774)
単にA1セルに合計が来て、A2以下に数字を打ち込めばA1に合計が出るだけで良いのなら、A1に=sum(A2:A30000)とかやっておけばいいのではないですか?これなら2行目から30000行目まで合計しますが。数字が入っていなければ計算しませんから。
お礼
Turbo415さん ありがとうございました☆
- mu2011
- ベストアンサー率38% (1910/4994)
以下の方法は如何でしょうか。 ・A1セルを合計セルとして、A2以下の行を合計 =SUM(A2:A65536) ・又は、B1セルを合計セルとして、A列を合計 =SUM(A:A)
お礼
mu2011さん ありがとうございました☆
お礼
naktakさん ありがとうございます。 なるほど。。。 思いつきませんでした。 ありがとうございました☆