エクセルで家計簿を管理する際、毎月シートをコピーしながら前月の貯金額を引き継ぐ作業は手間がかかります。今回は、自動で前月の貯金額を反映し、手入力を最小限に抑える方法を解説します。
エクセルで前月のデータを自動で取得する方法
1. INDIRECT関数を使う
エクセルには、シート名を自動で参照できる関数 INDIRECT
があります。この関数を使うことで、毎月のシート名を変更しても関数の修正が不要になります。
以下の式を貯金合計欄のセルに入力すると、前月のシートの貯金額を取得できます。
=INDIRECT(TEXT(TODAY()-DAY(TODAY()),"yyyy-m") & "!B2") + C2
この式の意味は以下の通りです。
TEXT(TODAY()-DAY(TODAY()),"yyyy-m")
→ 前月のシート名を自動取得INDIRECT(前月のシート名 & "!B2")
→ 前月の貯金合計額(B2セル)を取得+ C2
→ 当月の貯金額を加算
2. 名前付き範囲を利用する
毎月のシート名が「2025-01」「2025-02」…と規則的であれば、名前付き範囲を設定すると便利です。
- 「数式」タブ →「名前の管理」を開く
- 「新規作成」→「名前」に「前月」と入力
- 「参照範囲」に以下を入力
INDIRECT(TEXT(TODAY()-DAY(TODAY()),"yyyy-m") & "!B2")
これで、セルに =前月+C2
と入力すれば自動で前月の貯金額を取得できます。
月ごとのシートを自動作成する方法
毎月新しいシートを手動で作成するのではなく、マクロを活用して自動化できます。
Sub 新しい月シート作成()
Dim ws As Worksheet
Dim newSheet As Worksheet
Dim prevSheet As String
prevSheet = Format(DateAdd("m", -1, Date), "yyyy-mm") ' 前月のシート名
Set ws = Sheets(prevSheet)
Set newSheet = ws.Copy(After:=Sheets(Sheets.Count))
newSheet.Name = Format(Date, "yyyy-mm") ' 新しい月のシート名を設定
End Sub
このマクロを実行すると、前月のシートをコピーして新しい月のシートを作成できます。
まとめ
エクセル家計簿を効率化するには、INDIRECT関数を使って前月の貯金額を自動取得し、マクロで月ごとのシートを作成する方法が便利です。
この設定を活用すれば、毎月の手間を省き、エクセル家計簿を快適に管理できます。
コメント