[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『同じシートで日々の売上を累計したい』(初心者です。。)
こんにちは。教えて下さい。
1枚のシートに本日売上と累計売上を日々入力してますが、これを本日売上を入力すると自動的に累計売上のセルにに足されるようにしたいのです。B2のセルに=SUM(A2+B2)と入れるとエラ−のようなものが出ます。根本的に間違っているかも知れませんが......
このように日々1つのシートで本日売上(A2)を入力すると累計売上(B2)にたされ、次の日に同じシートで次日の本日売上(A2)を入力すると累計に足されるようにしたいのですが。初心者で申し訳ございませんが宜しくお願いいたします。
A B
1 本日売上 累計売上
2 1,200 1,200
(次の日)
A B
1 本日売上 累計売上
2 1,500 2,700
これはもしかして、 こんなことでしょうか。(トピック内のリンクも参照してください。) [[20041020105248]]『同一セル内での計算と内訳表示』(tasuketeman) (みやほりん)
「マクロでしか出来ません」という風に受け取られたようですね。 私の真意は逆で、 [[20041020105248]]『同一セル内での計算と内訳表示』(tasuketeman) こちらでも書いているように、日々の数字を入力用のセルへ 履歴として全て残していって、合計するセルへSUM関数で集計、 A1に最新の数字を検索関数で表示という風にすればよいのでは? マクロでも一応命題どおりの処理は可能ですが、 → 入力間違いをしたときは前の数字がわからなくなる → だから入力履歴も残せるようにする → 入力履歴を修正したらその合計も変化するようにしたい となし崩しになりますが、結局、SUM関数と検索関数`sで 計算しているのと同じになるため、労のワリには メリットが少ないように思えます。 (みやほりん)
でありました。お騒がせしました。1つ質問させてください。
下記のコードを貼り付けて試したところ、A1に入力したらE1のセルに入力できました。
同じようにA2に別の数字を入力してE2と、A3に入力してE4に累計入力できるようになる為には
どこのコードをどのように変えればよいのでしょうか?宜しくお願い致します。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count <> 1 Then Exit Sub If Target.Address <> Range("A1").Address Then Exit Sub
Range("E1").Value = Range("E1").Value + Target.Value Target.Select End Sub
※こちらのコードにに変更いたしました。内容は同じです。お忙しいとは思いますが宜しくお願い致します。
こんばんは!こんな感じでどうでしょう? v(=∩_∩=)v (SoulMan) Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count <> 1 Then Exit Sub If Target.Column <> 1 Then Exit Sub If Not IsNumeric(Target.Value) Then Exit Sub Application.EnableEvents = False With Target .Offset(, 4).Value = .Offset(, 4).Value + .Value .Select End With Application.EnableEvents = True End Sub
入力間違えた時はどうするの? 「戻る」ボタンじゃ戻りませんよ・・・。 関数の使えない理由があるんですかね。 (みやほりん)
私は、本来このような累計の方法をどの様に活用されるかは存知あげません。 ただ、応用として現在はA1対E1にしか対応できないけど、それを列単位で 指定する方法をしりたいのかな?と思いました。 どうでしょう? (SoulMan)
A列だけへの入力にこだわる限り、「できません」 関数はある時点でセルに入力されているデータを計算するだけです。 たとえば、セルB1に=SUM(A1,A2)と入力されているとします。 A1とA2の合計が表示されますが、あるときA1の数字が上書きされた場合は 新たなA1とA2の合計しか計算できません。 関数は前の計算でどんな答えを出していたかは覚えていてくれません。 その代わり、エクセルでは256列*65536行*シート数の 広大な入力するための空間が用意されています。 A1に当日の売り上げ E1にその日までの売り上げ累計 であるとするならば、「どうしても」A1に入力したく なるのでしょうが、そこをぐっと抑えていただいて だまされたと思って次のように入力してみてください。 A1に=LOOKUP(10^17,OFFSET($Z:$Z,0,ROW())) E1に=SUM(OFFSET($Z:$Z,0,ROW())) 最初は#N/Aおよび0が表示されます。 AA1は見出しにしておいて、 今日の売り上げははAA2、 明日の売り上げはAA3、とAA2から一行ずつ入力していくことにします。 A1にはAA列に入力された一番最下行の数値、 E1にはAA列の数値合計が表示されます。 では、A2、E2に入力、累計されるべき値は・・・ その右隣、AB1を見出しとすると、 AB2から入力していってください。 A1、E1の関数をA2、E2にコピー、貼り付けしてみてください。 A3,E3以下でも同様です。入力する場所が違うだけで、 とりあえず、A列、E列の表示はご希望のようになります。 このように入力過程を残すことで、入力ミスがあった場合の修正の他、 ・グラフ作成 ・フィルターによる分析 など、データ活用の幅も広がります。 (みやほりん)
(みやほりん)さま ありがとうございました。確かに入力ミスした時はえらい事に
なっちゃいますよね。教えて頂いた関数やってみましたら、全く問題無く表が出来ます。ほんとありがとうございました。
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.