忍者ブログ

ひつ(じのひよこが)プログラミングします。
お仕事や趣味で困ったこととか、何度も「あれ?どうだったかしら」と調べたりしたこととか、作ったものとか、こどものこととかを書きます
★前は週末定期更新でしたが今は不定期更新です

2024/11    10« 1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  »12

Google Spreadsheet で家計簿をつけると便利だった

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

コメント

ただいまコメントを受けつけておりません。

Google Spreadsheet で家計簿をつけると便利だった

我が家では家計簿をつける習慣がなかった。何度か始めようとはしたのだが、続かなかったのだ。

なんで家計簿が続かない

とにもかくも買った直後につけられない点である。今の時代、携帯電話があるじゃないか、とも思うが携帯電話でつけられるだけでは不十分だ。家族のための物を買うのは私もだし、妻もだからだ。家計簿が共同編集できなければ続かない

Google Docs でよくね?

スマホから利用できて、制限された複数人で編集できるなら何でも良かった。結果、Google Spreadsheet で試してみることに。Google Spreadsheet ならスマホから編集が可能だし、Google Account でユーザ制限もできる。我が家は夫婦共に Android ユーザなのでアプリを追加で入れる必要も特になかったのも良い。

項目別の集計が面倒だった

8ヶ月間、運用を継続できたのでこのままいけるな、と判断。しかし、妻から「項目別の集計ができなくて面倒」というお言葉を頂いた。

しかし、項目別の集計は難しい。どの入力がどの項目に該当するのかを判定する必要がある。しかし、これを毎回手入力したくない。ドロップダウン入力ならまぁ、良いかな、という話になり、作ることに。

下準備

次のようなスプレッドシートを用意する。
スプレッドシート例
すなわち、日付、金額、項目、備考を入力する家計簿本体入力用シートと、項目の種類を一覧した項目一覧のシートである。項目一覧には使うことが決まっている項目を記入しておく。なお、内容は我が家で使っているものではない。夫婦共にソシャゲをやらずに「くまのプーさんのホームランダービー!」ばかりやっているからだ。

ドロップダウン入力

ドロップダウン入力を実現するには Data validation (日本語:データの入力規則) を使う。項目の入力セルを右クリックし、Data validation を選択する。
Data validation を選択するひよこの雄姿
Data validation の設定画面が得られるので設定項目2つ目の Criteria を設定する。項目右側のテキスト入力欄右端の表をクリックするとセルを選択できるので、先に作った項目一覧の全項目をドラッグする。すると、次のようになる。
Data validation の使い方
これで、項目欄はドロップダウンで入力ができるようになった。瞬時に入力できるので、あなたの夫ないし妻がズボラでも入力できるはずだ。

集計もしたい

Google Spreadsheet には QUERY という関数がある (QUERY - ドキュメント エディタ ヘルプ) が、この使い方がかなり難しい。Google Visualization API のクエリ言語を記述する必要があるのだが、ふつうこんなの書けない。クエリ言語のヘルプ曰く The syntax of the query language is similar to SQL. Developers familiar with SQL should be able to quickly learn and use this query language. だそうである。 Developers familiar with SQL については全くもって同意なのだが、家計簿とかつけたいカジュアルなユーザには使いこなせない。つらい。

今回のサンプルでは次ようなクエリを書いてみた。=QUERY(B2:C22, "select C, SUM(B) where C<>'' group by C label C '項目', SUM(B) '金額'")

B2:C22 この範囲を集計対象にする
select この範囲を対象に「見るよ」という宣言
C, SUM(B) どの列を表示するのか、の宣言。項目名の列と金額の列の合計を表示する
where C<>'' C 列が空欄の場合は無視する、という宣言
group by C C 列 (つまり項目名の列) で一塊として扱う、という宣言
label C '項目', SUM(B) '金額' C 列については項目というタイトルを、 SUM(B) については金額というタイトルをつける、という宣言

次のような結果になる。
query をつかった結果
F2:G4 には特に何も入力していないのだが、QUERY 関数がこのように入力する。

サンプル

こちら

PR

コメント

ただいまコメントを受けつけておりません。

ブログ内検索

P R