たのしく生きたい

いつもニコニコゆるふわブログです

MoneyForward + Googleスプレッドシートで家計管理

id:tobachi もしくは @toda_kk です。

この記事は Spreadsheets/Excel Advent Calendar 2018 - Adventar の18日目の記事です。

前置き

正直、↑のアドベントカレンダーの趣旨をわかってないです*14日目の記事 を書かれた id:mitsuba3 さんと、22日目を担当される予定の id:nhayato さんに誘われて勢いで登録してみたものの、何を書けば良いかわかっていません。

ぜんぜん関係ないポエムでも投下しようかとも思いましたが、さすがに場を荒らすだけになっちゃうかなと思い自粛しました*2

というわけで、タイトルの通りMoneyForwardとGoogleスプレッドシートを使って家計管理をしている話を書きます*3

システム構成と管理手順*4

以前から収支管理のためにMoneyForwardを使っています。現金を使うことがあまりないため、お金の流れをほとんど自動で管理することができて気に入っています。

MoneyForwardは本当に便利で、単に収支を入力するだけでなくさまざまな形で分析してくれます。カテゴリごとに予算設定などもできるので、月ごとの支出状況も簡単に確認できて非常に使い勝手が良いです。

f:id:tobachi:20181218193247p:plain
MoneyForwardで家計管理する私

家計管理するようになると、次は貯金がしたくなってきます。貯金の目標額を設定して、予算に収まるように支出をコントロールしたいと考えています。

MoneyForwardではありがたいことにカテゴリ分けがしっかりされているのですが、自分の場合はもうちょっとざっくり把握したいと思っていて、特に支出額を次のような形で把握したいと考えています。

  • 支出額
    • 目標額: ふつうに生活していたらこれくらいは使うだろう、という金額
    • 残余分: 家具や家電など大きな買い物をしたり、ちょっと贅沢をしたり、貯金に回したりする部分

こんなわけわからん家計管理の仕方をするのは自分くらいでしょうが、とにかくこういう形で支出を管理するのはMoneyForwardだけでは難しく、ぽちぽり集計する必要がありそうです。

そこで、MoneyForwardから月ごとの収支情報をCSV形式でエクスポートし、データをGoogleスプレッドシートで読み込むことで好きに集計したり表示したりできるのではないかと思い、もろもろ工夫してみました。

全体の手順としては下記の通りとなっています。赤枠の部分が自動化される部分です。

f:id:tobachi:20181218190155p:plain
MonerForwardとスプレッドシートを組み合わせることでハッピーになった私

ところで、普段からGoogleスプレッドシートをめっちゃ使いこなしているかというと、全くそうではありません。仕事でたまに使いますが、手軽に表形式を使えるツールとして使うくらいで、がっつり表計算をしているかと言われるとかなり微妙です*6

スクリプト作成

MoneyForwardでCSVファイルをエクスポートすると、下記のような形式で出力されます。「計算対象」という列があったりして、便利ですね。

f:id:tobachi:20181218195212p:plain
CSVはこんな感じで出力される

事前にざっくりとしたスプレッドシートを作成しており、これでなんとなく家計管理をしていました。

f:id:tobachi:20181218201121p:plain
ざっくり家計管理シート

今回は下記のようなスクリプトを作成し、このスプレッドシートを上手いこと更新していきます。

  • スプレッドシートを起動したときに実行される
  • CSVファイルの内容を計算し、支出額のうち「目標額」を超える分の金額を「残余分」の金額として集計する
  • 毎月の支出を一覧で確認できるように、1シートに表形式で表示する

スクリプト実行のトリガーを設定することができるので、スプレッドシートを起動したときに実行されるように設定しておきます。

f:id:tobachi:20181218201746p:plain
トリガー設定

あとはアップロードしたCSVを元に支出額を計算するようなスクリプトを書きます。詳細は省きますが、技術的な部分は下記の記事を参考にして作成しました。

Google Apps Script 入門 - Qiita

Google Apps Script で Spreadsheet にアクセスする方法まとめ - Qiita

csvをGoogle スプレッドシートに定期的に反映させる | Tips Note by TAM

まとめ

そんなわけで、支出の情報入力はMoneyForwardを使いつつ、集計と確認にはGoogleスプレッドシートを使うようにしました。シートとスクリプトをいじれば表示形式も好きにできるので、良い感じなんじゃないかと思います。

明日は id:decobisu さんです。お楽しみに!

*1:じゃあ一つ前の記事のときは趣旨がわかってたのか? と聞かれれば、もちろん、わかってなかったです。すみませんでした。

*2:主催者の@minemura_coffee さんはこのアドベントカレンダーで小説を連載されている。とても面白いので、みなさん読みましょう。

*3:家計管理の話でいうと、すでに id: Sixeight さんが スプレットシートを使った簡単な家計の管理 - ちなみに を書かれています。めっちゃもろ被りですが、同じ目的でも違う使い方もできるよ、というような意味合いでこの記事にも存在理由を見い出すことができるんじゃないかと祈っています。

*4:なんて仰々しい見出しなんだ! 筆者はこの記事をSIerの設計書か何かと勘違いしてるんじゃないだろうか。そんなわけがない。

*5:残念なことに、2018年12月現在MoneyForwardさんは個人で使える連携APIのようなものは提供されていないようです。

*6:ちなみに、前世ではExcelソースコードを記述したり、WBSを作成・更新したりしていました。