【スプレッドシート】おじさん専用!予算管理用日付関数

こんにちは。
Googleスプレッドシートで予算管理をしようと企むオジサンです。
予算管理では様々な日付でグルーピンが必要になります。
たとえば年度ごとに集計とか、四半期ごとに集計とか...
そのために「2019/01/01」のような日付を「FY2018」みたいな値に変換したいです。
具体的には↓これくらいのケースに変換したい。

2019/01/01に対しての変換

ケース
年度 FY2018
半期 FY2018下期
四半期 FY2018_4Q
年月 201901

で、これができるカスタム関数作った。
その名もcomDate()。なんとなく会社の日付だから。
もっと良い名前あったら教えてください。

利用例

使い方について細かい話をしてもしょうがないので具体的な利用例で説明します。
まずこんな感じの家計簿があったとします。

f:id:naosim:20191123160659p:plain

支出日と支出額が書いてあるテーブルです。

これに対してC1のセルにこんな風に記述します。

=comDate(A:A,"年度,半期,四半期,年月")

第1引数は支出日の列、第2引数は変換タイプです。
これを実行するとこうなる!

f:id:naosim:20191123160828p:plain

日付がいろんな値に変換されてる!

この表を使って、年度別に集計してみる。
こうゆうときはquery関数が便利。

=query(B:C,"select C, sum(B) where C != '' group by C")

これを実行すると

f:id:naosim:20191123160852p:plain

キターーー!
オジサンの効率化完了。

ソース

ソースはここに置いておきます。
まだまだ改良の余地があるので参考までに。

ではまた。