2022/09/17

Dr.Walletのデータを、順序が変わらないように「らくな家計簿」にインポートする方法を検討する(前篇)

_前回の 2022/09/10 Dr.Walletのレシートデータを「らくな家計簿」にインポートすると順序が変わってしまう謎を解く では、

  • (データ出力元)Dr.Walletは、商品の価格を負の値、値引き額を正の値として同じカテゴリに計上するようにレシートデータを入力するようになっている
  • (データ入力先)らくな家計簿は、データをインポートする際に、アプリに未登録の資産・分類(カテゴリ)を含むデータがあった場合はその場で追加・修正をして、支障が無くなったデータから順次確定させることができる

_以上の二点を見出しました。

_このような両者の仕様が絡まって、Dr.Walletのデータをそのまま らくな家計簿 にインポートしようとすると、

  • らくな家計簿に、支出・収入に同じ名称の「分類」(カテゴリ)ができる
  • らくな家計簿にインポートする際、確定させた順序によりレシートデータの並びが変わる

_という事態が発生するわけです。

_本件におけるユーザーHさんの要望は「Dr.Walletのデータを『らくな家計簿』にインポートする際に、同じ日の異なるレシートのデータが混ざって並んでしまうのをなんとかしたい」というものでした。今回はその方策を検討します。

1.らくな家計簿側の準備

_まず…らくな家計簿側の分類(費目のこと)構成を変更します(もちろん、その前に全データを初期化しておきます)。 「らくな家計簿」の費目構成は突っ込みどころだらけであり、また、Hさんは「ファイナンシャルプランナーが作った家計簿」(以下、FP家計簿)のデータも「らくな家計簿」に取り込むことを望んでおられるので、今回の例ではFP家計簿のカテゴリ構成に合わせます。

_なお、らくな家計簿は大分類の下に小分類を設定することができますが、今回はその機能はOFFにして、FP家計簿の「費目」のみのカテゴリ構成とします。また、Dr.Walletのデータに含まれる値引きを正しく記帳するため、収入分類に「値引き分」を追加します。

らくな家計簿の分類構成をFP家計簿に合わせる

_さらに、らくな家計簿の資産設定を例として↓の画面のようにします。これで受け入れ側たる「らくな家計簿」の準備は一応完了です。

らくな家計簿の資産設定の例

2.ACF機能用のカテゴリーリストを作成する

_今回のミッションでは、Dr.Walletからダウンロードしたデータに記帳されている「カテゴリ」を、「らくな家計簿」に設定した「分類」に変換してインポートします。そのためには、

  1. Dr.WalletからダウンロードしたデータをMFF形式に変換する
  2. MFFマクロACF機能を使用して、Dr.Walletのデータの「カテゴリ」を、らくな家計簿 に設定した「分類」に変換する
  3. MFFマクロで らくな家計簿 インポート用のTSVファイルを出力する
  4. TSVファイルを らくな家計簿 にインポートする

_という手順になるわけですが、第2段階でACF機能を使用する際に必要な"らくな家計簿カテゴリーリスト.csv"を作成します。その例を↓に示します。これはあくまで「らくな家計簿 」に設定した分類構成と一字一句合致させて作らなければなりませんので、前述のように収入分類に「値引き分」を追加しています。

らくな家計簿カテゴリーリスト

_このファイルは、ユーザーの皆さんが家計簿のデータを普段運用しているフォルダに保存して下さい(位置を覚えておいてください。次回に使用します)。なお、ファイル形式は「CSV(コンマ区切り)(*.csv)」を選択します。「CSV UTF-8 (コンマ区切り)(*.csv)」ではありませんのでご注意下さい。

らくな家計簿カテゴリーリストを保存する

3.Dr.WalletからのデータをMFF形式に変換する

_次に、Dr.WalletからダウンロードしたデータをExcelで開き、MFFマクロを動作させてMFF形式に変換します。ここは前回と同じです

Dr.WalletからDLしたデータ

_次に、Dr.Walletのデータに含まれる「値引き」のデータをどうにかしましょう。解説を判りやすくするために筆者がオレンジで塗った行が対象です。

DrWalletのデータに含まれる値引き分を抽出する

_今回のデータは数が少ないのでこのまま一行ずつ処置してもよいのですが、一度に大量のデータを扱う場合は大変なので、以下のようにします。

_MFFマクロは、データをMFF形式に変換した際に、オートフィルタを設定するようになっています。そこで、収入欄に降順ソートをかけて、収入欄に金額が入っている行をデータの上位にもってきます。

DrWalletのデータに含まれる値引き分を抽出する2

_収入額が計上された行が上位に集まりました。費目甲欄に入っている「食費」を「値引き分」に変更します↓。

Dr.Walletのデータに含まれる値引き分の費目を修正する

_なお、このような費目の修正は、残念ながらACF機能ではできません。ACFを使って「食費」という費目を「値引き」に変換すると、支出側の「食費」まで「値引き」にしてしまうからです(こちらはそのままにしておかなければならない)。必然的に手作業にならざるを得ませんが、↑の例ではB3セルでCtrl+Cを叩いて「値引き分」をコピーした後、B4・B5セルでそれぞれCtrl+Vを叩いて貼り付ければ楽に修正できます。

_さて、このような修正を行うと、データはレシート単位で固まって並んでいたのが崩れてしまいます。そこで、MFFマクロV2.38にて新設した便利機能「レシート単位でソート」を使います↓。

_この便利機能は、日付=降順、ID=昇順の設定でソートを行います。よって、同じレシートに含まれているデータがバラけていても、再びレシートに記帳された順序どおりに並びます。ただし、ID欄の文字列次第では、レシート内の順序はともかく、レシートそのものの順序は元どおりにならないこともあります。つまり、Dr.Walletのデータの並びを完全再現することはできないのですが…要望元たるHさんもそこまでは求めておられないのでこれで良しとしています。

レシート単位でソートする

_次回の後篇は、ACF機能による費目・口座名の変換と、らくな家計簿へのインポートについて触れます。

注目の記事

家計簿アプリとデータをやりとりする際のファイル形式のまとめ

_今回の主題は…家計簿アプリとデータをやりとりするときに使用するファイルの形式について、です。筆者がこれまで MFFマクロ に対応させてきた家計簿アプリは27種類(Money通帳とあっと家計簿は別カウント)。まず、家計簿アプリからエクスポートする方向では↓のようになります。...

最近の人気トップ3