LibreOfficeで楽々会計 オートフィルターとSUBTOTAL関数編

LibreOffice AdventCalendar 2016 
榎さんに続き12月3日の記事です。
5日分あります。(w
乞うご期待。

自分のマンションの管理組合の会計を頼まれてしまった。
IT屋の端くれとしてLibreOfficeを使い省力化したマンション会計を目指そうと試みることにする。

前任の方は少しはExcelを使って会計を行っていたようだ。
紙の現金出納帳、預金出納帳、収支決算書をそのままExcelにしたような形式で使っていた。

この方法は非常に非効率だ。
収支を入力したら自動的に下記の3つが出力できるようにできないだろうか？

- 現金出納帳
- 預金出納帳
- 収支決算書

![accounting.png](https://qiita-image-store.s3.amazonaws.com/0/24550/3d9c5bfb-c60f-5c05-aa93-aeba9c9430ed.png)

##環境
LibreOffice Calc

LibreOfficeはWindowsでもMacでもLinuxでも動きます。
ダウンロードしてインストールしておいて下さい。

##借方も貸方も同じ列に書く

貸方と借方に分ける必要があるだろうか？
=貸方-借方　と　それら全てのSum(合計)という2つの式が必要になる。

|日付|摘要|貸方|借方|金額|
|:-:|---  |--:|--:|--:|
|2016/12/1|繰越金|1200||1200|
|2016/12/2|おやつ||200|1000|
||||合計|1000|

この際、こうしよう

|日付|分類|摘要|収支|
|:-:|:-:|--- |--:|
|2016/12/1|収入|繰越金|1200|
|2016/12/2|支出|おやつ|-200|
|||合計|1000|

上記のようにすれば収支の列を全て SUM (合計)　するだけでいい。

そうやってできたのがこのCalcデータ。
[マンション出納帳_a.ods](http://yahoo.jp/box/TOSdJO)

##現金と預金も同じ場所に書く

現金と預金を合わせた金額が収支決算書で報告される。
全く別のシートに入力されていれば現金出納帳の合計と預金出納帳の合計を足さなければならない。
これも同じシートの同じ列に入力してしまおう。
分類ができるように出納帳種別という列を追加して下記のように入力しておく。

|日付|出納帳種類|分類|摘要|収支|
|:--|:-:|---  |:-:|--:|
|2016/12/1|預金|繰越|繰越金|1000|
|2016/12/1|現金|収入|繰越金|1200|
|2016/12/2|現金|支出|おやつ|-200|
||||合計|2000|

でも決算書として現金出納帳も預金出納帳も必要なんて時にはどうするのか？


##現金出納帳と預金出納帳を分ける

オートフィルターを使えば預金出納帳だけ現金出納帳だけと出力することができる。

###オートフィルター

使い方は簡単。
[マンション出納帳_a.ods](http://yahoo.jp/box/TOSdJO)をダウンロードして開きましょう。
下記のようにやってみます。

1. 現在作成されている表を選択
2. [データ] > [オートフィルター] を選択する

![autofilter.png](https://qiita-image-store.s3.amazonaws.com/0/24550/1acb1081-384b-1265-a3ab-a7f1a69c0b03.png)


出納帳種類の横の下三角(▼)を選択して現金だけ選択してみよう。
すると現金出納帳だけ出てくる。
![autofilter01.png](https://qiita-image-store.s3.amazonaws.com/0/24550/70944912-7f54-8d85-aee5-d2526c5f62db.png)

預金出納帳の場合も同じようにやってみる。

![sum.png](https://qiita-image-store.s3.amazonaws.com/0/24550/e66b9976-72c0-f228-a11c-b0dacf312218.png)

しかし、合計は現金と預金を足した金額のままだな。
現金を選んだときは現金の合計、預金を選んだときは預金の合計にしてほしいな。

そんな関数あるだろうか？

###SubTotal関数

収支の合計をSUMの代わりにSubtotal関数を使う。
オートフィルターで表示したものだけを集計してくれる。

では実際にやってみよう。
オートフィルターを付けた[マンション出納帳_a.ods](http://yahoo.jp/box/TOSdJO)を開きます。

1.　合計を入れていたセルに =Subtotal(9,E2:E11) と入力

![subtotal.png](https://qiita-image-store.s3.amazonaws.com/0/24550/fd567e06-b447-5ddd-ebb8-9dd62c50fd13.png)

Subtotal(関数,範囲)の9の部分は関数を表す。
9はSUM(合計) E2:E16　ってのが範囲だ。

これで出納帳種類を現金と空白を選択してみよう。
現金出納帳の合計が出力されているはずだ。
![autofilter01.png](https://qiita-image-store.s3.amazonaws.com/0/24550/70944912-7f54-8d85-aee5-d2526c5f62db.png)

![autofilter02.png](https://qiita-image-store.s3.amazonaws.com/0/24550/0ebc315e-c0fd-140c-c50d-459f9428f915.png)

完成データ
[マンション出納帳_b.ods](http://yahoo.jp/box/dXsL0g)

###勘定科目を追加

収支決算書には勘定科目が必要だな。
勘定科目を追加しておこう。

|日付▼|出納帳種類▼|摘要▼|分類▼|勘定科目▼|収支▼|
|:--|:-:|---  |--:|:-:|--:|
|2016/12/1|預金|繰越|収入|繰越金|1000|
|2016/12/1|現金|繰越|収入|繰越金|1200|
|2016/12/2|現金|おやつ|支出|組合活動費|-200|
|||||合計|2000|

###予算決算種別を追加

収支決算書には予算という項目が必要らしい。
予算も同じシートに入れてしまおう。

|日付▼|決算か予算▼|出納帳種類▼|摘要▼|分類▼|勘定科目▼|収支▼|
|:--|:-:|:-:|---  |--:|:-:|--:|
|2016/12/1|決算|預金|繰越|収入|繰越金|1000|
|2016/12/1|決算|現金|繰越|収入|繰越金|1200|
|2016/12/2|決算|現金|おやつ|支出|組合活動費|-200|
|2016/12/1|予算|予算|繰越|収入|繰越金|1000|
|2016/12/1|予算|予算|繰越|収入|繰越金|1200|
|2016/12/1|予算|予算|おやつ|支出|組合活動費|-200|
||||||合計|4000|

うーん、予算も一緒に合計してしまうなぁ…。
とりあえず予算はオートフィルターで非表示にしてしまおう。

ここまでの完成データ
[マンション出納帳_c.ods](http://yahoo.jp/box/Ki7JvQ)

##現金出納帳と預金出納帳、収支決算報告書を分けたい

収支決算書は分類と勘定科目を集計したものを出力しないといけない。
これじゃあ、収支決算書が作れないなぁ。

それと現金出納帳と預金出納帳、収支決算報告書は別シートに分けたいなあ。

OK! 
ピポットテーブル (PivotTable)を使おう。
ピボットテーブルなら

- 項目ごとの集計
- フィルターによるデータの選択

といったことも可能だ。
詳しいやり方は[LibreOfficeで楽々会計 ピボットテーブル編]で教えよう。

1. [LibreOfficeで楽々会計 オートフィルターとSUBTOTAL関数](http://qiita.com/arachan@github/items/5f7a5f975f804ac4c5d1)
2. [LibreOfficeで楽々会計 ピボットテーブル編](http://qiita.com/arachan@github/items/cfd995406e412d5bbf3c)
3. [LibreOfficeで楽々会計 GETPIVOTDATA関数](http://qiita.com/arachan@github/items/a2a2b9ed36ba2c3c6843)
4. [LibreOfficeで楽々会計 テンプレート編](http://qiita.com/arachan@github/items/42d05197fc76536f5245)
5. [LibreOfficeで楽々会計 金種表](http://qiita.com/arachan@github/items/f42990f4bb7d87df0be7)　



###出典

[Subtotal関数 - LibreOffice Help](https://help.libreoffice.org/Calc/Mathematical_Functions/ja#SUBTOTAL)

##12月4日のアドベントカレンダー
@nogajun さんの[LibreOffice Drawでフラッグガーランドを作って、かわいく飾りつけよう＋LibreOffice Kaigiのお知らせ](http://www.nofuture.tv/diary/20161204.html#p01)です。