[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
ただいまコメントを受けつけておりません。
我が家では家計簿をつける習慣がなかった。何度か始めようとはしたのだが、続かなかったのだ。
とにもかくも買った直後につけられない点である。今の時代、携帯電話があるじゃないか、とも思うが携帯電話でつけられるだけでは不十分だ。家族のための物を買うのは私もだし、妻もだからだ。家計簿が共同編集できなければ続かない。
スマホから利用できて、制限された複数人で編集できるなら何でも良かった。結果、Google Spreadsheet で試してみることに。Google Spreadsheet ならスマホから編集が可能だし、Google Account でユーザ制限もできる。我が家は夫婦共に Android ユーザなのでアプリを追加で入れる必要も特になかったのも良い。
8ヶ月間、運用を継続できたのでこのままいけるな、と判断。しかし、妻から「項目別の集計ができなくて面倒」というお言葉を頂いた。
しかし、項目別の集計は難しい。どの入力がどの項目に該当するのかを判定する必要がある。しかし、これを毎回手入力したくない。ドロップダウン入力ならまぁ、良いかな、という話になり、作ることに。
次のようなスプレッドシートを用意する。
すなわち、日付、金額、項目、備考を入力する家計簿本体入力用シートと、項目の種類を一覧した項目一覧のシートである。項目一覧には使うことが決まっている項目を記入しておく。なお、内容は我が家で使っているものではない。夫婦共にソシャゲをやらずに「くまのプーさんのホームランダービー!」ばかりやっているからだ。
ドロップダウン入力を実現するには Data validation (日本語:データの入力規則) を使う。項目の入力セルを右クリックし、Data validation を選択する。
Data validation の設定画面が得られるので設定項目2つ目の Criteria を設定する。項目右側のテキスト入力欄右端の表をクリックするとセルを選択できるので、先に作った項目一覧の全項目をドラッグする。すると、次のようになる。
これで、項目欄はドロップダウンで入力ができるようになった。瞬時に入力できるので、あなたの夫ないし妻がズボラでも入力できるはずだ。
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) については金額というタイトルをつける、という宣言 |
次のような結果になる。
F2:G4 には特に何も入力していないのだが、QUERY 関数がこのように入力する。
ただいまコメントを受けつけておりません。