今回のMFFマクロの更新では、対応する家計簿アプリの追加ではなく、超久しぶりにACF機能を強化します。例によりまして導入法とソースリストをこちらで公開しておりますのでご参照下さい。
これまで、MFF形式データをワークシート上に展開しACF機能が動作している状態(便宜的にACFモードと呼ぶ)では、口座名や費目を、データ変換先の家計簿アプリに変換する処理のみが可能であり、支出・収入取引を振替取引に変更するのは大変面倒でした。
しかし、先日、スマートレシートやレシマルからレシートデータをMFF形式データに変換できるようにしたことで、クレジットカードや電子マネーの支払を、レシートデータ専用のダミー口座への振替取引に変更する、という操作をする機会が増えることになります(増えるといいなあ)。
そこで、MFFマクロV2.48では、ACFの機能の一つとして、MFF形式データの支出・収入取引を振替取引に変更できるようにしました。
1.クレジットカードの明細データをMFF形式に変換する
今回の新機能を説明するにあたり、クレジットカードの明細データをWindowsPC向け家計簿ソフト「マスターマネー」にインポートする、という操作を例にします。
クレジットカードは「その筋カード」という架空のカードで、その会員サイトからダウンロードした明細データのCSVファイルをExcelで開いたところから始まります(Shift-JISでエンコードされているので文字化けせずに開くことができる、という想定)。

この状態でMFFマクロを動作させますと、MFFマクロはこのデータがどの家計簿アプリや金融機関サイトを由来にしているのか判別できないので、このデータの日付・利用額・収入(払い戻し)額・取引先・備考・金融機関名がどこのセルに入力されているかをユーザーに問い合わせてきます。この機能については 2022/03/28 金融機関からダウンロードした明細データをMFF形式に変換できるMFFマクロV2.33を公開しました を参照してください。
ここでは、↓のようにデータの位置を指定します。

データの位置の指定が終わると、MFF形式へのデータ変換が行われます↓。もともとのデータには費目を示す情報が無いので、費目は空欄になっています。

2.ACFの新機能を活用する
MFFマクロには、ある家計簿アプリAの費目・口座名を、別の家計簿アプリBの費目・口座名に変換する作業を支援する「ACF(Account and Category Fixer)」という機能があります。その詳細については 固定ページ:ACF(費目・口座変換支援)機能の動作と操作法 をご覧ください。

↑の画面において、D2セルのプルダウンメニューから「マスターマネー」を選択し(今回の記事ではマスターマネーへのデータのインポートを例題としています)、D2セルにセルカーソルを置いたままでACF機能の起動ボタン(起動ボタンの設定については 固定ページ:MFFマクロの導入法と使用法 を参照)を叩くと、ACFの「初回動作」が始まります。
ACFは、初回動作の際に、D2セルで選択した家計簿アプリに設定してある口座名および費目構成をリスト化した「マスターマネーカテゴリーリスト.csv」というファイルを参照します。このファイルは、予めユーザーが作成しておいてください。ここでは↓のように作成されているいるものとします。
このファイルを置いてあるフォルダをダイアログで指定する(画面例は省略)と、D列・L列・M列に、ファイルの内容に基づいてプルダウンメニューが設定されます。D列は口座名を、L列はカテゴリー(費目甲)、M列はジャンル(費目乙)をユーザーが指定するわけですが…冒頭で申し上げたとおり、今後は、レシートデータを専用のダミー口座に入れて、クレジットカードや電子マネーの支払を、そのダミー口座への振替支出として記帳したい場面が増えます。
そこでMFFマクロV2.48の新機能。振替取引に変更したい取引明細のK列(振替フラグ列)にセルカーソルを置いてACFマクロを動作させる↓と…

当該の取引が振替取引に化けます↓(この動作は、振替フラグに0が入っているときしか実行されません)。費目甲に「振替支出」という特殊な費目が入りました。これは、当該の取引が収入取引であった場合は「振替収入」になります。また、取引先欄に入っていた文字列が内容欄に移され(内容欄に入っていた文字列はメモ欄に移動し、メモ欄に入っていた文字列は破棄されます)、計算対象フラグは強制的に0に、振替フラグは強制的に1にセットされます。そして、取引先欄に、振替先となる口座名を指定するためのプルダウンメニューが設定されます。
当該の取引は、「その筋カード」を使って10,000円を「13Suica」にチャージしようとしているので、取引先を13Suicaに設定します↓。

そして、口座名欄を「52その筋カード」に設定して、ここで一度ACFを反復動作させましょう↓。

全ての口座名欄が「52その筋カード」に変化しました↓。これは、↑のデータの「その筋カード」という口座名欄の中で1箇所だけ「52その筋カード」に変更すると、このデータ群に含まれる全ての「その筋カード」を「52その筋カード」に変換する、というACFの学習機能です(これは以前から装備していた機能です)。
また、第4行の取引先欄も「13Suica」で確定されました↓。
次に、第6行の振替フラグにセルカーソルを置いたままACFを動作させて↓…

第6行の取引先を「11モバイルSuica」に変更します↓。同様の操作で、第7・8・12行の取引明細も、「13Suica」への振替取引に変えてしまいましょう↓。

3.マスターマネーへのインポート
続いて、第3・10行のスーパーでの買い物を、レシートデータ専用の口座(筆者は「72明細分離用」という名称にしている)への振替支出に変更し、振替ではない通常の支出・収入取引のカテゴリー(L列)とジャンル(M列)を指定します↓。それが終わったら、A1セルにセルカーソルを持って行き、ACFマクロを「最終動作」させます。

ACFの最終動作後は、画面は通常のMFF形式データに戻ります。この状態で、D1セルのプルダウンメニューを「マスターマネー」に設定し、セルカーソルをD1セルに置いたままでMFFマクロを動作させますと、マスターマネーにインポートするためのCSVファイルが出力されます。

そのCSVファイルをマスターマネーにインポートしたところです↓。
今回ご紹介した操作は、前述したマスターマネーカテゴリーリスト.csvに、マスターマネーに登録しているアカウントおよびカテゴリーを一字一句間違いなく書き込んであることが大前提となっています。そのうえで、ACF機能を使って作成したデータは、マスターマネーへのインポート後は面倒な操作無しにデータを確定させることができます。

今回は長大な記事になりました…。ACFに振替取引を作成する機能を付加したことで、家計簿データの操作がいっそう便利になったはずです。MFFマクロV2.48の新機能をぜひご活用ください。