• ベストアンサー

Excel 通帳計算の表の残高自動計算するには

Excel で単純に 通帳と同じような表を作ると残金の所は自動で計算できますか A     B     C     D     E 入金詳細  入金額   出金詳細  出金額   残高       5000            3000                   2000  この記入方法で残高は自動計算できますか? 詳細の所には文字を入れたいです。 例えば、A給料 C衣類  など ☆下記回答いただきましたが 2行目以降データ入力行のA~E列の任意のセルをクリックした瞬間にE列に残高計算式"=SUM(B$2:B○)-SUM(D$2:D○)"を自動的にセットさせる方法があります。 (注)ここで残高計算式中の"○"は選択したセルの行番号値です。 初心者にとっては少々大変ですが、次の操作を一度だけしっかり行うと あとは計算式の自動セットの恩恵に預かれます。 (1)Excel画面の下端にあるシート見出し(例えば「Sheet1」)上を右クリックし (2)表示されたメニューから「コードの表示(V)」を選ぶ (3)表示されたコードウィンドウの上部の左側に「(General)」と表示されている部分の右にある「▼」ボタンをクリツク (4)表示された一覧の中から「Worksheet」を選択 (5)コードウィンドウに Private Sub Worksheet_SelectionChange(ByVal Target As Range) End Sub と表示される (6)前項の「Private ・・・・Target As Range)」行と「End Sub」行の間に次のコードをコピーして貼り付ける。 rw = ActiveCell.Row: clm = ActiveCell.Column If rw >= 2 And clm <= 5 Then Cells(rw, 5).FormulaR1C1 = "=SUM(R2C[-3]:RC[-3])-SUM(R2C[-1]:RC[-1])" 'E列のセルに残高計算式をセット End If (7)画面右上にある赤地に白抜きの「×」をクリツク、これで終了です。 これを変更して A→日付け B→詳細 C→入金 D→出金 E→残高 だと どうすればいいですか?

質問者が選んだベストアンサー

  • ベストアンサー
  • pc_knight
  • ベストアンサー率66% (52/78)
回答No.2

以前http://okwave.jp/qa3491460.htmlでの質問に回答致しました。 それの変更質問ですね。解決のヒントだけ回答します。ご自身で解決できたらまた一つ進歩です。頑張ってください。 現行シートのE列の任意のセル、例えばE7セルに自動セットされた数式の内容を数式バーで確認します。それと現行のコードを照らし合わせ勘を働かせたら、コードのどこを直せば良いか解決の方向が見出せるかもしれません。 因みに現行コード内のどこかの数値が、B列およびD列のE列(残高)からの相対的位置を示しています。 現行E7セルの計算式 : =SUM(C$2:C4)-SUM(D$2:D4) 現行コード : Cells(rw,5).FormulaR1C1 ="=SUM(R2C[-3]:RC[-3])-SUM(R2C[-1]:RC[-1])" を良く見たらどこを直せば良いか分かるかも・・・。

noname#58824
質問者

お礼

前回回答頂きました時にスムーズにできて嬉しかったので 今回変更後、何処にどのセルの行や記号が当てはまってるのか、自分なりに間違い探しのように頑張ってみたのですが、残念ながら探せず再質問しました。 pc_knightさんに又回答いただけてよかったです。 有難うございました

すると、全ての回答が全文表示されます。

その他の回答 (3)

  • pc_knight
  • ベストアンサー率66% (52/78)
回答No.4

No.2です。No.2回答にて現行E7セルの計算式を間違えていました。 訂正します。 (正)=SUM(B$2:B7)-SUM(D$2:D7) (誤)=SUM(C$2:C4)-SUM(D$2:D4)

すると、全ての回答が全文表示されます。
noname#79209
noname#79209
回答No.3

B列に入金額、D列に出勤額、E列に残高とした場合、残高の計算に、 =E2+(B3-D3) などと、上の行のデータを参照していると、ブランク行が有るとうまくいきません。 =SUM($B$2:B2)-SUM($D$2:D2) とすべきです。

すると、全ての回答が全文表示されます。
  • hirokun44
  • ベストアンサー率40% (261/641)
回答No.1

Excel で単純に 通帳と同じような表を作ると残金の所は自動で計算できますか 1   A     B     C     D     E 2  入金詳細  入金額   出金詳細  出金額    残高 3        5000             (5000) 4                    3000  2000 5                           普通に筆記計算を思い浮かべてください。 E列のセルに計算結果を表示させればいいのですから 「残高」の項目の直下( )で表示してあるセルをクリックします。 つまり3Eのセルです。 =3B-3D という数式を入力してエンターキーを押します。 そうするとこの表では3Dが0ですから3Eには5000が自動で入力されます。(計算結果が反映されたのです。) 次に4Eのセルにもう1つ以下の式を入力します。 4Eをクリックして =3E+4B-4D という式を入力してエンターキーを押します。 そうすると4Eには2000(5000+0-3000の計算結果)が表示されます。 後はこの式を5E以下にコピーすれば完了です。 式のコピーは次のようにします。 4Eをクリックするとセルが太い実線で囲まれます。 セルの右下角にマウスを持っていくと+に変わりますから左クリックしたまま下にドラッグします。 グレーの線でドラッグした範囲を表示しますので好きなところでマウスを放します。 そうするとドラッグした範囲にすべて0が表示されましたね。 0が表示されれば計算式がコピーされたのです。 これで順次A~Dにデータを入れるだけでE列に残高が表示されます。 未入力のセル5Aにデータを入れたらタブキーを押します。すると5Bセルに移動しますのでデータをいれ、タブを押します。 セルの左から右に移動するにはタブキーお押せばいいのです。 こうして5Dまで入力したらエンターキーを押します。 5Eには自動で計算結果が入り次の行の先頭6Aに移動して入力待ちになります。 但しこのままでは最後の計算結果(残高)が未入力のセル(計算式をコピーしたセル)に表示されます。 まだデータを入力していない行に残高を表示させないようにするにはもう一工夫必要です。 先ずはこのような計算式を入れる練習をしてみてください。 要は、Excelでの計算は筆算と同じなのです。 計算式を入れるには最初に=をつけるだけです。 たすは+、引くは-、掛けるは*(アスタリスク)、割るは/(スラッシュ)という記号を使います。 5掛ける4は5*4   10割る5は10/5で表示します。 さあ練習してください。大体理解できましたら次回に次のステップに進んで差し上げます。

noname#58824
質問者

補足

4Eをクリックして =3E+4B-4D という式を入力してエンターキーを押します。 そうすると4Eには2000(5000+0-3000の計算結果)が表示されます。 後はこの式を5E以下にコピーすれば完了です。 ☆このように毎回コピーしなくても 初めの回答を頂きました式を設定すると、計算が自動でできるのですが 私が A     B     C     D     E 入金詳細  入金額   出金詳細  出金額   残高 これを →  A日付 B詳細 C入金 D出金 E残高 に変更したので下記のコードをどう変えれば自動計算できるのかと思いまして 再度お尋ねしました (6)前項の「Private ・・・・Target As Range)」行と「End Sub」行の間に次のコードをコピーして貼り付ける。 rw = ActiveCell.Row: clm = ActiveCell.Column If rw >= 2 And clm <= 5 Then Cells(rw, 5).FormulaR1C1 = "=SUM(R2C[-3]:RC[-3])-SUM(R2C[-1]:RC[-1])" 'E列のセルに残高計算式をセット End If

すると、全ての回答が全文表示されます。

関連するQ&A