前回のLet’s家計簿関係記事:2024/07/30 Let's家計簿再登場記念 MFFマクロV2.56出現
1.Let's家計簿からCSVファイルを出力する
今回は、MFFマクロV2.56(以降)を使って、Let's家計簿からCSVファイルで出力した家計簿データをMFF形式に変換する方法を解説します。使用するデータはLet's家計簿に標準的に入っている「家計簿の入力サンプル」で、2007年2月を対象にします。画面上では↓に示すとおりで、
2007年2月のデータ全体は↓のようになっています。レシート入力、クレジットカードの引落し、振替取引など、Let's家計簿特有のデータが入っています。
このデータが画面に表示されている状況で↓のように操作すると、2007年2月分のデータが"200702.csv"というファイル名で出力されます。エンコードはShift-JISで、改行コードはCr+Lfです。全データを一発で出力するような機能はなく、バックアップファイルは独自形式なので一般ユーザーが触ることはできません。
このCSVファイルはExcelで直接開くことができます。中身を見てみると↓…冒頭に各口座(クレジットカードは除く)の月初・月末における残高の情報が入っています。これは、実はけっこう有用なのですが、MFF形式へ変換する際には削除します。
13行目以降が取引データになっていますが、御覧のとおり、画面表示とほぼ同一の情報が入っていることが判ります。↓のセルに色が入っているのは、筆者が判り易くするために塗ったものです。クレジットカードの名称の頭に★が付くのはLet's家計簿の仕様です。なお、クレジットカードの支払方法を示す[一括]や[リボ]等の青文字や、タグ等の情報はCSVファイルには入りません。
特徴的なデータに注目しますと、
- 14・20・36・45行目の「レシート合計(N件)」はレシート入力されたデータの合計を示す行です。
- 29・30・44行目にあるクレジット精算は、引き落とされる銀行口座からの支出取引という取り扱いになっています。
- 56・57行目の銀行口座からの現金引き出しは、シティバンクからの支出と現金への収入が一組になっています。両方とも「現金引き出し」という費目名になっていますが、この費目はLet's家計簿側で「収支計算に含めない」と設定してあるため、問題は生じません。
…ところで、費目欄について、辛く悲しい報告をしなければなりません。この「家計簿の入力サンプル」というデータは、費目が 2024/07/20 2024年にLet's家計簿を使い始める方のための入門編その1 のように階層的に設定されています。ところが、CSVファイルには、最も下の層の費目名称しか入りません。例えば、24行目の小学校の授業料は、本来は「教育費」という費目の下に「授業料」というサブ費目が定義されているのですが、CSVファイルには「授業料」としか入らないので、この「授業料」の上位の費目が何であるか判らなくなってしまうのです。
このような動作をする家計簿ソフトとしては、他に「がまぐち君」が挙げられます(2020/08/09 がまぐち君は初期設定が重要です を参照)。
2.Let's家計簿のCSVファイルをMFF形式に変換する
ここから先は、いつもどおりの操作です。CSVファイルを開いた状態でMFFマクロを動作させると↓、変換処理に移ります。
データ変換の際には、以下のように取り扱っています。
- レシート合計(N件)…他の家計簿アプリにデータを移行した際に、残高推移を追うのに邪魔になるので、MFF形式変換時に削除しています
- クレジットカード精算…MFF形式変換時には 銀行口座→クレジットカードの振替支出 と、 クレジットカード←銀行口座の振替収入 の一組の振替取引(と反対取引)に変換します
- 振替取引…Let's家計簿は支出・収入の2つのデータを一組にして記帳するので、それぞれをMFF形式の振替取引とその反対取引に変換します。
- クレジットカードの利用…「口座」欄にクレジットカードの名称が入りますが、その先頭に"★"が付いています。これはMFF形式に変換した後もそのままです。
変換後のMFF形式データを↓に示します。
先に述べた事情で、MFF形式に変換すると費目甲欄にしか費目名が入らず↑、費目乙欄は全て空になってしまいます。
この対策としては、これもがまぐち君と同様に、Let's家計簿側でサブ費目を"授業料"ではなく"教育費-授業料"のように設定しておくことです(セパレータはスラッシュ"/"ではなく半角マイナス"-"を使います)。
次に、そのようなデータを例に変換してみましょう。
3.Let's家計簿のデータを「まともに」MFF形式に変換する
まず、Let's家計簿の費目構成を、↓のように整えます(あくまで例です)。例えば、"食費"という費目の下には、サブ費目として"食費-食料品"を配置します。このデータをCSVファイルとして出力すれば、費目欄には"食費-食料品"が入ってくるので、MFF形式に変換する際に費目甲="食費"、費目乙="食料品"と分解できます。
また、赤枠で囲った「振替支出」「振替収入」は、MFF形式における振替取引の費目名称と同じで、振替取引専用に定義します。
そのうえで、Let's家計簿の↓のようなデータをCSV出力しますと…
CSVファイルの中身は↓のようになります。費目欄には"○○○-□□□"の形になっているのは、サブ費目がそのまま入っているからです。
このファイルをExcelで開いている状況でMFFマクロを動作させると、MFF形式へ変換されます↓。
…↑のように、費目があるべき姿に分解されました。これで、MFF形式からさらに他の家計簿ソフト・家計簿アプリ向けにデータ変換ができます。
4.Let's家計簿のデータをMFF形式に変換する処理について
例によって、MFFマクロのデータ変換処理のチャートをご紹介します。
-
支出・収入取引Let's家計簿のデータ形式そのものは単純で、金額が収入・支出に分かれているため変換処理は単純なものになっています。Let's家計簿は「お店」を重視するUIになっているので、内容欄にいわゆるMFF書式で(内容)(@店名)(※メモ)と入力するのは避け、店名はしっかり「お店」欄に入力し、内容欄には(内容)(※メモ)の形で入力するようにしてください。
-
振替取引Let's家計簿の振替取引は、「支出側」と「収入側」で同日・同額の記帳がなされていれば成立するので、「支出側」と「収入側」のお店欄・内容欄どころか費目欄すら異なるような記帳ができます。そのため、MFFマクロは同日に収入額と支出額が同じ取引が連続している場合に振替取引と判断して変換します。
-
クレジットカードの引落しLet's家計簿はクレジットカード機能を使用している場合、クレジットカードの名称の前に"★"を付け、利用額の引落しは銀行(クレジットカードの設定画面で指定する)からの支出取引として自動作成します。よって、MFFマクロはお店欄に入っている文字列の先頭に★が入っている支出取引を「銀行からの引落しだ」と判断して、振替取引に変換します。よって、Let's家計簿ではお店の名称に"★"を入れるのは避けてください。
次回のLet's家計簿関係の記事は、MFF形式データをLet's家計簿にインポートする方法を解説します→
0 件のコメント:
コメントを投稿