A tray of contents

書類をとりあえずトレイに乗せておくように、テキストを放り込む場所です。整理できるのはいつの日か…。

Google ドライブで、入力しやすくリアルタイム集計も見える家計簿を作る

Googleフォームで、入力フォームを作る

スマホからの入力はフォームが便利。以下のブログに、画面キャプチャつきで作成方法が掲載されている。情報提供感謝。

Googleドライブで家計簿 or おこづかい帳 - さんぽあるくとわすれてしまうので
http://mikanthecat.blog.fc2.com/blog-entry-24.html

日付、費目、金額の3フィールドあれば最低限の集計が可能。あとはお好みで。私は費目明細、店名、支払金種(現金、カード、電子マネーなど)などを設けている。

当月分のリアルタイム集計シートを作る

Googleフォームから入力した情報を記録するGoogleスプレッドシートに、費目別の集計シートを作り、食費いくら、日用品いくら、医療費いくら、という単純な表に、sumif関数で費目別合計金額を表示させる。

集計の数式

(各シートの構成)

明細を入力するシート名:フォームの回答
→A列:日付
→B列:費目
→C列:金額
※1行目は項目名。データは2行目から開始

日付 費目 金額
2015/03/01 食費 1,000
2015/03/02 日用品 500
2015/03/03 食費 800
2015/03/04 医療費 1,500

リアルタイム集計を表示するシート名:集計
→A列:費目
→B列:費目別合計(ここに数式が入る)
※1行目は項目名。データは2行目から開始

費目 費目別合計
食費 B2セル(数式)
日用品 B3セル(数式)
医療費 B4セル(数式)
(数式)

B2セルに入る数式の例

=arrayformula(sumif('フォームの回答'!B:B,A2,'フォームの回答'!C:C))

(ポイント)
arrayformula関数はsumif関数を確定すると自動的に追加されるので、実際には記述不要。arrayformula関数の意味については以下のブログ参照。情報提供感謝。

[misc] Google Spreadsheets の 配列数式の結果がおかしい時の呪文 - throw new OutOfMemoryError(”´Д`”) ;
http://d.hatena.ne.jp/emmie714/20090904/1252026152

月別集計ファイルを作る

準備

Googleフォームから数字が落ちてくるGoogleスプレッドシートファイルとは別に、月別集計を行うファイルを新規作成し、「明細」シートと「月別集計」シートを作っておく。(同じファイル内の別シートでもいいかもしれない)

(各シートの構成)

「明細」シートは上記「フォームの回答」シートと同じ。

「月別集計」シートは費目と月のクロス集計表。締を給料日単位にしたい場合は給料日の日付も入れる。

1月 2月 3月
(給料日) 2014/12/25 2015/01/25 2015/02/25
食費 B3セル(数式) C3セル(数式) D3セル(数式)
日用品 B4セル(数式) C4セル(数式) D4セル(数式)
医療費 B5セル(数式) C5セル(数式) D5セル(数式)

「明細」シートへの入力

月が替わったら、「フォームの回答」シートに溜まった1か月分の入力内容を月別集計ファイルの「明細」シートに移動させる。
※つまり「フォームの回答」シートには当月の入力内容しか保管しておかない。ひと手間かかるが、私は情報保全と利便性のためにこうしている。詳細後述。

(数式)

B3セルに入る数式の例

=ARRAYFORMULA(SUM(('明細'!$A$2:$A$1000>=B$2)*('明細'!$A$2:$A$1000<C$2)*('明細'!$B$2:$B$1000=$A3)*'明細'!$C$2:$C$1000))
(ポイント)

参照範囲は、1行目が項目名で列全体を指定できないため、便宜的に「2行目から1000行目まで」としてある。
上記数式の絶対参照であれば、下や右にオートフィルしても参照範囲がズレない…はず(ズレたらすみません)。

この記事について

御多分に洩れず、私もいろいろ家計簿アプリを試してみたクチですが、自分の事情にフィットするアプリを見つけて使いやすくカスタマイズし継続的に管理する、というのは、生来の無精に加え、変動費の出費進捗だけをシンプルに把握したい*1自分には、現実的ではありませんでした。

アプリに一番求める機能は「外出先で、出費したその場でスマホから記録すること」だったので、当初はGoogleスプレッドシートに直接入力すればいいかなと思っていたのですが、いろいろ検索していたところ、最初に紹介したページを見つけ、Googleフォームが便利そうだったので真似させていただきました。実際、スマホからの入力は非常に便利で、とてもありがたく思っています。

また、本文中で少し触れた「月が変わったタイミングで当月の明細を月別集計ファイルの明細シートに移動させる」という一手間をかける理由ですが、これは当月の明細シートの行数が増えると、入力モレの確認が面倒になるからです。「あれ?この出費、記録したっけ?」というとき、当月の明細シートを見に行くわけですが、最初に表示されるのは当然ながら一番上の行で、最新版はこれも当然ながら最下部にあるため、行数が多いと延々スクロールさせることになります。これは特にスマホではキツい。シートの情報量が増えると表示するまでの時間もかかりますし。

あとは、すべての履歴をひとつのファイルで管理するリスクですね。そのファイルが壊れたらすべて失われる、というのはちょっと怖い。万全を期すならエクスポートしてGoogleドライブ以外にバックアップを作る形になるでしょうが、今のところはそこまではしていません。

本文で紹介しているのは費目別の集計のみですが、ほかにも金種別や、よく行くお店にどれくらい支払っているのか、などを集計したりしています。この自由度が、表計算で管理することの大きな魅力だと思っています。

*1:固定費は自宅PC内のExcelファイルで別管理です。