【 使いやすいエクセル家計簿 】使い方と便利機能を詳しく紹介

Left Caption

豆父ちゃん

アプリよりもエクセルで家計簿をつけたい。

こんな風に思っている方のために、使いやすいエクセル家計簿を紹介します。

私が使いやすいエクセル家計簿を作ったのは妻からのなにげない発言からでした。

 きっかけは妻の発言

 

スマホの家計簿アプリは便利だけど、機種変更するときの引き継ぎがめんどうなんだよね。あとスマホで文字入力するのがめんどう。あとあと大きい画面の方が見やすいって思えてきたの!!

そんな妻の不満を解決するべく、誰でも継続して使えるエクセル家計簿を開発しました。

 

使いやすいエクセル家計簿とは

動画でエクセル家計簿の使い方や設定されている機能の紹介をしています。

家計簿は頻繁に入力したり、確認するものです。なので開発したエクセル家計簿は、プルダウンリストによる項目の選択とVBAの実行ボタンを押すだけ!という簡単な操作方法になっています。

下記のサイトでこのエクセル家計簿のダウンロードが可能です。

使ってみたい!という方は合わせてチェックしてみてください。

 

家計簿への入力は入力欄の一番下に追加入力するだけ!

手入力が必要なセルは塗り潰しなし、自動で値やテキストが入力されるセルは茶色の塗り潰しになっています。

もし家計簿への入力を忘れてしまったとき、行を挿入するなどの手間は一切不要。日付を識別して自動で集計するので、日付の順番を揃えるために行を挿入して入力する!といった手間がありません。

入力した項目・細目だけを表示するシンプルな集計表に!

月によって支出の内容が変わって項目が大幅に増えることってありますよね。例えば、子どもの誕生日の月はおもちゃを買ったり、ケーキを買ったりと支出の項目が増える。使いもしない全ての項目や細目が表示されていては集計表が見づらくなってしまうので、手入力欄にある項目や細目だけ一覧表に表示する設定にしています。

 

1年間の収入と支出の割合が一目でわかる全体集計シートを作成!

1年を通して月ごとの収入と支出の合計を集計する全体集計欄を作りました。これで1年間の収入と支出の比較ができるようになります。さらに年ごとの収入と支出を入力する欄を設けることで、年ごとの比較ができるようになっています。

妻から「1年間の支出項目の比較がパッとわかるものがほしい。」という要望があったので、項目別の合計を集計する一覧を作成しました。これにより1年間の支出項目の割合が一目でわかるようになります。

エクセル家計簿の機能

使いやすい機能① 自動計算

エクセル家計簿にとって最も基本的な機能が自動計算です。関数Sumと繰り返し処理(For〜Next)と関数IFの組み合わせを使っています。

自動計算の内容

 

  1. 収入と支出の合計(月別sheet)
  2. 項目別の支出の合計(月別sheet)
  3. 細目別の支出の合計(月別sheet)
  4. 収入と支出の合計(全体集計sheet)
  5. 項目別の支出の合計(全体集計sheet)

サンプルVBA(一部抜粋)

1 集計を行うVBA(一部抜粋)
2 retua = Ash.Cells(3, Columns.Count).End(xlToLeft).Column
3 syu = Application.WorksheetFunction.Sum(Range(Cells(4, 4), Cells(15, 4)))
4 Ash.Cells(16, 4) = syu
5 syu = Application.WorksheetFunction.Sum(Range(Cells(4, 7), Cells(15, 7)))
6 Ash.Cells(16, 7) = syu
7 For i = 10 To retua
8 syu = Application.WorksheetFunction.Sum(Range(Cells(4, i), Cells(15, i)))
9 Ash.Cells(16, i) = syu
10 Next

 

自動計算が設定されている箇所

 

妻からの要望で、より細かく支出の内容を確認できる仕様になっています。

月別sheetでは支出の中でも電気代・交通費・食費にそれぞれいくらかかっているのかを一目で確認することが可能。全体集計sheetでは月別sheetから収入・支出・項目・細目の合計を集計しています。

使いやすい機能② プルダウンリストによる入力

家計簿を記録するとき文字入力の手間を省くために、条件によってプルダウンリストの内容が変化するVBAを導入しました。これを使えば、日付と金額の入力以外、プルダウンリストから項目を選択するだけで家計簿の入力が可能になります。

条件によってプルダウンリストの内容が変化【動画紹介】

この機能によって、リスト内容が増えてお目当の項目が見つけづらくなる!というプルダウンリストのデメリットを解消しています。

 

サンプルVBA(一部抜粋)

1 プルダウンリストVBA(一部抜粋)
2 Private Sub WorkSheet_SelectionChange(ByVal Target As Range)
3 Dim Ash As Worksheet
4 Set Ash = Sheets(“項目・設定")
5 ActiveSheet.Range(“I:L").Validation.Delete
6 ActiveSheet.Range(“M:P").Validation.Delete
7 retu = Ash.Cells(6, Columns.Count).End(xlToLeft).Column
8 retu2 = Ash.Cells(22, Columns.Count).End(xlToLeft).Column
9 On Error Resume Next
10 Dim A As String
11 A = Cells(Target.Row, Target.Column – 3)
12 If (Target.Column = 9) And (A = “収入") Then
13 risuto = WorksheetFunction.Transpose(WorksheetFunction.Transpose(Ash.Range(Ash.Cells(6, 10), Ash.Cells(6, retu))))
14 With Target.Validation
15 .Add Type:=xlValidateList, Formula1:=Join(risuto, “,")
16 .ShowError = False
17 End With
18 Else
19 End If
20 If Err <> 0 Then
21 Err.Clear
22 End If

実行結果

プルダウンリストは項目・設定Sheetの入力欄に好きな項目を記入するだけ!VBAをいじらずに自分に合ったプルダウンリストの設定が可能です。

この機能のおかげで妻から「日々の入力がとてもラクなのでノーストレス!」という高評価を頂きました。

使いやすい機能③ 一目でわかるグラフ作成

妻からは「グラフなんて必要ないよ!数字だけで比較できればわかるもん」と言われましたが、グラフは私のこだわりで追加させてもらいました。グラフにこだわった理由は見栄えがよくなるから!数字だけの家計簿だとパッと見た感じ堅苦しいイメージが強くなってしますので、楽しく長く使ってもらうためにグラフを導入しています。

 

各月別Sheet(収入と支出の棒グラフ)

サンプルVBA(一部抜粋)

1 棒グラフ作成(一部抜粋)
2 '収入・支出グラフ作成
3 With ActiveSheet.Shapes.AddChart.Chart
4 .ChartType = xlColumnClustered
5 .SetSourceData Source:=ActiveSheet.Range(“AN3:AN4,AQ3:AQ4")
6 'タイトル追加
7 .HasTitle = True
8 .ChartTitle.Text = “収入・支出"
9 .Parent.Top = Po.Top
10 .Parent.Left = Po.Left
11 .HasLegend = False
12 .Axes(xlCategory).HasTitle = False
13 .FullSeriesCollection(1).Points(1).Format.Fill.ForeColor.ObjectThemeColor = msoThemeColorAccent2
14 .FullSeriesCollection(1).Points(2).Format.Fill.ForeColor.ObjectThemeColor = msoThemeColorAccent5
15 End With

棒グラフを使って収入と支出の比較を一目で確認することができます。

 

各月別Sheet(支出の割合を比較する円グラフ)

サンプルVBA(一部抜粋)

1 円グラフ作成(一部抜粋)
2 '項目別グラフ作成(円項目)
3 With ActiveSheet.Shapes.AddChart.Chart
4 .ChartType = xlPie
5 Set Ta = Range(Cells(3, 48), Cells(3, retu))
6 Set Ta2 = Range(Cells(35, 48), Cells(35, retu))
7 .SetSourceData Source:=Union(Ta, Ta2)
8 'タイトル追加
9 .HasTitle = True
10 .ChartTitle.Text = “項目別支出"
11 .Parent.Top = Po2.Top
12 .Parent.Left = Po2.Left
13 .SeriesCollection(1).ApplyDataLabels ShowPercentage:=True, ShowValue:=False
14 End With

実行結果

 

円グラフを使って、支出項目の割合を表示しています。妻から「1ヶ月の内、どの項目の支出が多いのか一目でわかるのが一番大事なことだから!!円グラフは絶対欲しい」という強い要望があって円グラフを採用しています。

全体集計sheetでも同じように棒グラフと円グラフを使って収入や支出、支出項目の割合を一目でわかる仕様になっています。

使いやすい機能④ 1クリックで行うVBAの実行

VBAの実行にはいろんな方法があります。

・ユーザーフォームを使ったVBAの実行

・ボタンによるVBAの実行

・指定するセルのクリックによるVBAの実行

妻から「ユーザーフォームは好きじゃない、ボタンも削除しちゃうことあるから嫌だなぁ」という要望があり、指定するセルのクリックによるVBAの実行を採用しています。

サンプルVBA(一部抜粋)

1 セルのクリックによる実行のVBA(一部抜粋)
2 Private Sub WorkSheet_SelectionChange(ByVal Target As Range)
3 Dim E As String
4 E = ActiveSheet.Cells(Target.Row, Target.Column)
5 If E = “集計実行" Then
6 Call 月別シート曜日
7 Call 月別シート計算
8 Call 月別シートグラフ
9 Else
10 End If
11 End Sub

実行結果

 

サンプルVBAでは、Worksheet_Changeのイベントプロシージャ内で引数Target、関数IFを使って、実行したいVBAをCallで呼び出しています。複雑なVBAを作るときは項目ごとに分けたVBAをCallで呼び出す方法がおすすめです。

下記の記事ではCallの使い方について詳しく紹介しています。

合わせてチェックしてみてください。

 

エクセル家計簿の使い方

設定・項目Sheetの使い方

塗りつぶしがない白いセルに、家計に合った項目や細目を入力する!たったこれだけ。入力した内容が各月別シートのプルダウンリストに自動的に反映され、自分専用のリストがあっという間につくれる仕様になっています。

各月別Sheetの使い方

  1. 白いセルに日付、金額を手入力する。ほかの項目は全てプルダウンリストで表示されるので、選択して入力する
  2. 「集計実行セル」をクリックする

集計実行セルには各項目の集計をするVBA集計された数字を元にグラフを作成するVBAが登録されています。

 

全体集計Sheetの使い方

  1. 各月別Sheetの必要事項を入力し、集計実行を行う
  2. 全体集計Sheetの塗りつぶしがない白いセルに、年別の収入と支出を入力(わからない場合は空欄にしておく)
  3. 集計実行セルをクリックする

年ごとの収入と支出を手入力するだけで各項目の合計の集計グラフ作成を行う簡単な設定になっています。

 

アプリよりもエクセルで家計簿管理したいという方へ

スマホアプリよりもエクセルで家計簿を管理したいという方にとって、今回紹介するエクセル家計簿は、私の妻がおすすめする仕様になっています。エクセル家計簿の仕様についてもっと詳しく知りたい、またはこのエクセル家計簿を使ってみたいという方は気軽に連絡をください。

下記のサイト(ココナラ)では、エクセルVBAを使った作業の効率化を行うサービスを提供しています。
エクセルでの作業の効率化お手伝いします VBAによる自動化で作業時間を半分に!
今回紹介したエクセル家計簿を依頼者様の使いやすいようアレンジするサービスも行っています。気になる方は合わせてチェックしてみてください。

まだ全てのプログラムの動作確認が終わっていないため正常動作しない部分がありますが、随時修正を行い提供したします。全ての修正を完了し終えた時点で提供を終了する予定です。