こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Excelで金銭出納帳。繰越残高を翌月へ・・・

Excelで金銭出納帳を作成し、使用していこうと考えています。

1シートがひと月分です。

当月の残高を翌月の繰越額へもっていきたいのですが、シートをコピーして使うためか、「Sheet1!A1」の数式が使えなくて困っています。

1月のシートをコピーし、2月の繰越欄には「Sheet1!A1」を手入力したのでいいのですが、3月分は2月分のシートをコピーして使用するつもりです。
そうすると、繰越欄には1月末の残高が出てきてしまいます。

毎回入力すればいいのでしょうが、できれば自動で入力させたいです。

1つのシートに複数月の出納帳は管理上不自由なため、1シートでひと月分というスタイルは崩せません。

1~12月分のシートをあらかじめ作成しておき、ひとつひとつのセルに「Sheet1!A1」「Sheet2!A1」・・・と数式を入れていくしか方法は無いのでしょうか。

繰越額だけでなく、出納帳の摘要に入れる「○月分」といった連続した数字も新しいシートにしたときに自動で連続入力できる方法はありますか?

投稿日時 - 2013-09-24 14:24:06

QNo.8277714

困ってます

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

>毎回入力すればいいのでしょうが、できれば自動で入力させたいです。

自分がいま何月だから,自分が欲しい「先月」は「いったいなんて名前のシートなのか」が判れば良いワケです。

一番簡単な方法として「1月はシート1」じゃなく,例えば「201301」というシート名の付け方をします。
こうしておくと自分のシート名を計算させて,例えば3月シート(201303)からは201302シートを見に行けば良いと計算できますし,1月シート(201301)から「間違って」201312シートを見に行ってしまうことも無くなります。

手順:
201301,201302シートを用意する
ブックを「必ず」一回保存しておく
「先月」が無い201301シートの先月繰越額欄には手で数字を記入する
201302シートに
=INDIRECT((RIGHT(CELL("filename",A1),6)-1&"!A1"))
と数式を記入
201202シートをコピーし,シート名を201303に変更する。





もう一つの方策としては,マクロを併用して例えば「一枚左隣のシートの指定のセル」を見に行くユーザー定義関数をブックに登録して利用する事もできます。マクロを使うこと以外は,こちらの方があなたの「希望していた内容」に近いかもしれませんが,こういう事を普段使いの中だけで行う機能は,エクセルにはありません。またこの方策では,シートが必ず例えば「左から右に並んでいる」のが前提です。


手順:
ALT+F11を押す
現れた画面で挿入メニューから標準モジュールを挿入する
現れたシートに下記をコピー貼り付ける

function getleft(byval Target as excel.range) as variant
getleft = target.parent.previous.range(target(1).address)
end function

ファイルメニューから終了してエクセルに戻る
セルに
=getleft(A1)
のように記入する。

投稿日時 - 2013-09-24 20:11:31

お礼

お礼が遅くなってしまい、大変申し訳ありません。

マクロに関しては全く分からないのが現状ですが、これを機に勉強したいと思います。

とりあえず、INDIRECTを使用している手順を実行しました。

うまくいきました!

関数に関してもまだまだ勉強不足ですね・・・

具体的な手順までご教授いただき本当にありがとうございました!

投稿日時 - 2013-10-03 16:37:06

ANo.2

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

マクロを使えばできるんですが、それ以前に。

翌月繰り越しの残高って1種類だけですか?

種類が少ないなら、例えば「前月末残高」というセルをA1か何かに
作って置き、シート内で前月末を参照する場合、必ずA1を参照する
ようにしておけば、シートをコピーしたときに直すのは、そのA1セル
だけで済みます。

要は「シート間参照」を最小箇所にするように設計しておくってコト
ですね。

マクロを使う場合も、シート間参照は少ない方がコードが短くなるので
そういう設計はやっておく方がいいですよ。

投稿日時 - 2013-09-24 15:15:32

補足

残高は1種類のみです。

その月の最終日(私の場合は給料日の前日)に計算した残高を翌月に繰り越したいのです。
繰越にこだわるのは、できるだけ正確に、月に使えるお金がいくらかというのを出したいからです。

やはり入力された数字を活かして・・・というのは無理ですかね。

私はExcel初心者なのでマクロが良く分かりませんが、これを機に習得したいです。

よろしければ教えていただけませんか?

投稿日時 - 2013-09-24 16:04:00

あなたにオススメの質問