家計簿アプリのデータ移行をしたので、記事にしました。
うまく行かずに悩んだところもありましたが、自己解決できたので、やり方を載せています。
なぜZaimへ移行したのか
下記理由のためです。
- マネーフォワードMEの無料会員は、直近1年間の家計簿データしか見れないから(有料で使う気がなかった)。
- Zaimは無料会員でもデータインポートが利用できるから(ただし、会員区分に限らず、サポート対象外)。
「サポート対象外」を要約すると「機能は残してあるけど、Zaimとしてはサポートできないから、使うなら自力で何とかしてね」という意味になります。
「そんなの酷い」と思う方もいるかも知れませんが、インポート機能があるだけでも、ありがたいのが現実です。家計簿アプリダウンロード数3強(らくな家計簿・マネーフォワードME・Zaim)の中で、家計簿データインポートが無料会員で利用できるのはZaimだけです。
マネーフォワードMEは無料・有料に関わらず、インポート機能自体が廃止されました。
らくな家計簿のインポート機能は有料会員限定です。
Zaimの登録期間
下記のようになっています。
無料会員 | 有料会員 | |
閲覧期間 | 制限なし | 制限なし |
データ エクスポート | 2年 | 10年 |
銀行データ ・クレジットデータ のエクスポート | 含まない | 含む |
無料会員は銀行データ・クレジットデータのエクスポートができません。利用するなら、有料会員での利用が必要です。
また、データエクスポートに関して、無料会員は過去2年間の縛りがあります。今後、どこかの家計簿アプリに乗り換える気がなくても、1年たったらデータをエクスポートして保管しておくと完璧です。
有料会員は10年間のデータエクスポートが可能なので、神経質になる必要はないでしょう。
データ移行に必要なもの・こと
Windowsパソコン
「マネーフォワードME」も「Zaim」も、スマホアプリはデータの入出力に対応していません。
パソコンのブラウザから各アプリへログインして、作業する必要があります。
Macパソコンでも作業できるとは思いますが、筆者は未所持のため未検証です。
筆者の環境はWindows10です。未検証ですが、Windows11でもやり方は変わらないと思います。
デスクトップ版Microsoft Excel
Excelのマクロ機能を使用しますので、デスクトップ版のMicrosoft Excelが必要です。
下記いずれのバージョンでも構いません。
- デスクトップ版Excel単体
- Office Personal
- Office Home and Business
- Office Professional
マクロ機能が使用できないOffice Online等では作業ができません。
筆者の環境はExcel2013、Excel2016です(どちらもOffice Home&Business)。
マネーフォワードMEへの有料会員登録
マネーフォワードMEで家計簿データをエクスポートするには、有料会員への登録が必要です。
Androidスマホの場合、有料会員を初めて利用するアカウントの場合、1ヶ月間無料で登録できます。有料会員登録はスマホアプリからできます。支払いはGoogle Playを経由します。
定期購入の扱いになるので、有料会員登録時に支払い方法を指定する必要があります。Google Playの残高を確保しておくか、クレジットカードなどの支払い方法を登録する必要があります。
支払い方法を指定する際、初回請求日が表示されます。この日までに有料会員を退会すれば、費用はかかりません。日付を覚えておきましょう。
筆者はiPhoneは未所持のため、iPhone版の仕様はわかりかねますが、そんなに違いはないと思います。
Zaimへの無料会員登録
Zaimに乗り換えるので、Zaimの無料会員登録が必要です。
メールアドレスとパスワードで会員登録します。無料会員なので、支払いは必要ありません。
今回参考にしたホームページ
たこぶつさんのホームページを見ながら作業しました。
作業に使うVBAコードが配信されているほか、今回のケース以外にも様々な家計簿アプリの移行について網羅されています。
マジ凄いです(語彙力)。
具体的には、下記のページを読んで作業しました。
たこぶつの家計簿アプリ研究所:家計簿アプリ間データ変換ツール「MFFマクロ」公開中
https://takobutsu.blogspot.com/p/mff.html
たこぶつの家計簿アプリ研究所:マネーフォワードMEからダウンロードしたデータを他の家計簿アプリ向けに変換する
https://takobutsu.blogspot.com/2020/07/moneyforward004.html
たこぶつの家計簿アプリ研究所:Zaimに他の家計簿アプリから変換したデータをアップロードする
https://takobutsu.blogspot.com/2020/07/zaim006.html
作業手順
家計簿データの移行作業は、大きく以下5つのトピックに分かれます。
- マネーフォワードMEから家計簿データをエクスポートする
- MFFマクロExcelファイルを作成する
- カテゴリーリストファイルを作成する
- エクスポートデータの変換作業
- Zaimへのインポート
以下の3つのファイルを準備して、Zaimへのインポート用ファイルを作ります。
- エクスポートした家計簿データのまとめ
- MFFマクロExcelファイル
- カテゴリーリストファイル
マネーフォワードMEから家計簿データをエクスポートする
家計簿データのエクスポート
マネーフォワードMEの家計簿データをエクスポートします。
エクスポートが利用できるのは有料会員のみです。先に書いたように、そのアカウントでの有料会員登録が初めてなら、1ヶ月無料になりますので利用しましょう。
また、家計簿データのエクスポートは、1ヶ月分ずつしかできません。
複数月に渡る場合は、その月の分だけエクスポート作業を繰り返す必要があります。
スマホアプリで有料会員登録が終わったら、パソコンのブラウザからマネーフォワードMEへログインします。
「家計」のタブを開き、家計簿データをエクスポートしたい月を選びます。
ページ下の方にある、「家計簿データの出力(Excel、CSV形式対応)」の「ダウンロード」ボタンを押します。
「CSVファイル」と「Excelファイル」の選択肢が出てきます。選んだ方の様式で、データがダウンロードできます。
どちらの様式にするかは下記の考え方で選びます。
- データが1か月分ならCSVファイル(このままマクロに読み込めるから)
- データが複数月にわたるならExcelファイル(Excelでの編集が必要だから)
家計簿データが複数月にわたる場合は1つにまとめる
マネーフォワードMEからエクスポートした家計簿データが、複数月にわたる場合は、そのデータを1つのシートにまとめておく必要があります。全ての月のデータを時系列でつなげて1枚にします。
エクスポートしたデータを1つずつExcelで開いて、地道にコピー&ペーストを繰り返して、1つのシートにまとめましょう。
まとめた家計簿データをCSVで保存する
複数月にわたる家計簿データを1つにまとめたら、CSVでファイルを保存します。
Excelの「名前を付けて保存」を選んで、ファイル形式を「CSV(コンマ区切り)」で保存してください。
(「CSV UTF-8(コンマ区切り)」で保存すると、後々の作業で文字化けしてしまいます!)
ファイル名は任意で構いません。自分で理解できるファイル名をつけておきましょう。
MFFマクロExcelファイルを作成する
MFFマクロExcelファイルの作成
たこぶつさんの下記ページに、MFF(むふふ)マクロのコードが載っています。
エクスポートした家計簿データを、インポート用のデータへ変換するためのマクロ(正確にはVBAコード)です。
これを使って、MFFマクロを搭載したExcelファイルをつくります。
上記ページリンクのMFFファイルをブラウザで開き、全コードをコピーして、Windowsアプリのメモ帳などへ貼り付けます。
次に、メモ帳に貼り付けた全コードをコピーします。
Excelで新規ファイルを開き、「開発タブ」の「Visual Basic」を開きます。
開発タブが出ていない場合
リボンの空いているところで右クリックして、「リボンのユーザー設定」を選びます。
右側の「開発」のボックスを選択して、チェックを入れます。
「OK」を選べば、開発タブが出ます。
以降は、常に開発タブが表示される状態になります。
画面左のツリーから「VBAProject(ファイル名)」を右クリックしてメニュー開いて、「挿入」→「標準モジュール」を選びます。
標準モジュールが挿入されて、ウインドウが開きます。先ほどメモ帳からコピーしたコードを貼り付けましょう。
後は、ファイルを保存してください。ExcelとVBAの2つのウインドウがありますが、どちらで保存しても構いません。同じことです。初めてファイルを保存する場合、自動的に「名前を付けて保存」になります。
ファイル名は任意で構いません。マクロを搭載したファイルなので、ファイルの種類は「Excel マクロ有効ブック」で保存します(これにより、ファイル拡張子は.xlsmになります)。
VBAのコードを1行追加する
筆者が利用させてもらったマクロコードはVer2.31でしたが、このままだと定義エラーによりマクロが動かない部分があるので、コードを1行追加します。
プロシージャ
Private Sub CSVファイル出力(家計簿ソフト名 As String, 文字コード As String)
のすぐに下の行に、次の一文を追加します。
Const adTypeBinary = 1
Visual Basicのモジュール内でも、「Ctrl+Fキー」で文字検索が使えます。Private Sub CSVファイル出力(家計簿ソフト名 As String, 文字コード As String)、を検索してください。
コードの追加は、あくまで今回の作業のためです。
たこぶつさんのMFFマクロは非常に多機能です。コードの追加が他の機能に影響を与えないかは分かりかねます。しかし、少なくとも今回の作業については、この1行が必要です。
カテゴリーリストファイルを作成する
カテゴリーリストの作成
Zaimの勘定科目に合わせて、カテゴリーリストをExcelファイルで作ります。
ここで作ったファイル(リスト)が、Zaimへインポートする際の勘定科目になります。
以下ページは、ACFマクロに関する説明がメインですが、カテゴリーリストについての説明と作り方が載っています。
作成したカテゴリーリストをCSVで保存する
カテゴリーリストが完成したら、「CSV(コンマ区切り)」で保存します。
ファイル名は
Zaimカテゴリーリスト
で保存してください。アルファベットは半角で、Zだけ大文字です(拡張子を含めると、”Zaimカテゴリーリスト.csv“というファイル名になります)。
ちなみに…。
誤って「CSV UTF-8(コンマ区切り)」で保存すると、後々マクロを動かした際に文字化けしてエラーが起きます。
また、ファイル名を間違えた場合もマクロが動きません。ご注意ください。
エクスポートデータの変換作業
「マネーフォワードMEから家計簿データをエクスポートする」の章でまとめたエクスポートデータを、Zaimへインポートできるデータに変換する作業です。
今回の作業の中で一番ボリュームがあり、メインとなる作業です。
この作業を始める前に、ここまでで作った3つのファイルを、同じフォルダに入れておきましょう。フォルダの場所はデスクトップで構いません。
- マネーフォワードMEのエクスポートデータをまとめたCSVファイル
- MFFマクロExcelファイル
- Zaimカテゴリーリスト.csv
CSVで保存したエクスポートまとめデータをMFFマクロで読み込む
MFFマクロExcelファイルを開いて、MFFマクロを動かします。
たこぶつさんのホームページでは、マクロのショートカットを作成していますが、それが無くても動かせます。
実際に動かしてみましょう。
Excelの「開発タブ」から「マクロ」を選択すると、ファイルに搭載したマクロを選んで、起動することができます。
2種類のマクロが表示されます。MFFを選んで、「実行」を選びます。
読み込むデータを指定されるので、「マネーフォワードMEのエクスポートデータをまとめたCSVファイル」を指定して、「開く」を選びます。
「マネーフォワードのデータをMFF形式に変換します」と表示されるので「はい」ボタンを選びます。
これにより、たこつぼさんが「MFF形式」と呼んでいるリストデータができあがります。以降の画像では、H列「内容」のカラムは塗りつぶしています(個人情報なので)。
ファイルを上書き保存しておきましょう。
ACFマクロを走らせて、ACF形式へ変換する
D1セルのドロップダウンリストから”Zaim”を選びます。
D1セルをアクティブにした状態で、「マクロ」を選択します。
ACFを選んで、実行を押します。
このとき「~Zaim変換リスト.csvが存在しません」というメッセージが表示されますが、無視して構いません。「OK」を選択しましょう。
これにより、たこつぼさんが「ACF形式」と呼んでいるデータリストに変換されます。
マクロが上記のように動かない場合、マクロExcelファイルと同じフォルダに、「Zaimカテゴリーリスト.csv」が保存されていない可能性があります。ファイル名が違っても、マクロは正しく作動しません。
Zaim用の勘定科目を登録する
マネーフォワードMEで入力した勘定科目(カテゴリとジャンル)のほとんどは、そのままZaimで使えません。
この時点で各データについてZaimへ移行する際の勘定科目を登録します。
L列・M列が、Zaimへ読み込む勘定科目です。水色セルは登録済みなので、黄色セルを登録していきます。
勘定科目の値は、ドロップダウンリストから選べるようになっていますので、手入力の必要はありません(この機能のために「Zaimカテゴリーリスト.csv」が必要なようです)。
L列のセルを選ぶと、セル右側にドロップボタンが出てきます。
ドロップボタンを選ぶと、リストが出てきます。該当する内容を選びましょう。
L列を登録すると、M列もドロップリストで登録できます。
ドロップリストが出てこない場合、「Zaimカテゴリーリスト.csv」の作り方が間違っている可能性があります。
なお、必ずしもデータを1つずつ全て登録していく必要はありません。
例えば、1番目のカテゴリを「臨時収入」と入力してみます。
D1セルをアクティブにした状態で、ACFマクロを実行します。
すると、他のデータも「臨時収入」で埋まる部分が出てきます。
ACFマクロにより、「マネーフォワードMEで登録した勘定科目・内容」と「Excel上で登録したZaim用の勘定科目」を見て、同じ内容のデータがあれば、Zaim用の勘定科目を自動登録してくれます。
例に沿って言えば、1番目のデータは、マネーフォワードMEで「収入」「その他入金」という勘定科目になっていました(B列・C列で読み取れます)。そこに「臨時収入」というZaim用の勘定科目を登録しました。
ACFマクロによりデータがチェックされ、マネーフォワードMEの勘定科目が「収入」「その他入金」になっていて、かつ内容(H列)が一致するデータは、全て「臨時収入」というZaim用勘定科目が自動登録されたのです。
ACFマクロによる勘定科目の判定は、上にあるデータから順番に行われます。登録作業も上から順番にやりましょう。
L列とM列が全て水色になる(Zaimの勘定科目の入力が終わる)まで、作業を続けます。
ときどき、上書き保存をして、作業内容が消えないように進めましょう。
データをMFF形式へ再変換する
勘定科目を指定し終えたら、A1セルをアクティブにして、「マクロ」を開きます。
ACFを選んで、実行します。
この操作により、MFF形式リストへ再変換されます。
作業中のフォルダ内に「Zaim変換リスト.csv」というファイルが保存されますが、これは使いません。
Zaimアップロード用のCSVファイルを保存する
D1セルをアクティブにして、マクロを開きます。
MFFを選んで、実行します。
CSVファイルの保存名を決めるよう促されます。ファイル名は任意で構いません(そのままで構いません)。ファイルの種類は「csvファイル」のまま、変更しないでください。ここでは、特に変更せず、そのまま保存しています。
「ファイルを出力しました、開きますか?」とメッセージが出ますが、ファイルを開く必要はありません。「いいえ」を選んでください。
このとき、作業中のフォルダに保存されたCSVデータが、Zaimへ読み込むためのファイルです。
後はZaimへのデータインポートを残すのみです。
Zaimへのインポート
冒頭にも書きましたが、Zaimは「サポート対象外」ながら、家計簿データのインポート機能が利用できます。
このインポート機能は、無料会員でも利用することができます。
インポート機能を使用するには、パソコンのブラウザ(ChromeやEdgeなど)からZaimにログインしてください。
インポートのテスト用データを準備する
いきなり全データをインポートした場合、何らかのミスがあった時の修正が大変です。
そのため、インポートのテストを行うことをオススメします。
Zaimへのインポート用CSVデータをコピーで複製します。
複製したファイルを編集して、テスト用データを作成します。
例えば、初めの5行だけを残して、残りの記録を削除します。ファイルをメモ帳から開いて、編集してください(Excelで開くと、データ形式が壊れる可能性が高いです)。
初めの1行はカラム名(列名)が入るので、この場合は残る4件のレコード(記録)だけでデータインポートを行うことになります。
5行以上でテストしても構いませんが、あまりたくさんのデータをインポートすると、本番前にデータを削除するのが大変です(なぜデータを削除するかは後述)。
インポートのテストを行う
パソコンのブラウザからZaimにログインします。画面右上の「設定」を開きます。
「ファイル入出力」を選びます。
「入力」の「Zaim の出力ファイルをアップロードする」を選びます。
指定欄とボタンが出てきます。「クリックしてアップロードするファイルを指定」を選ぶと、ファイル選択ウインドウが表示されるので、テスト用のインポートファイルを選びます。「アップロード」ボタンを選べば、データがインポートされます。
4行(=4件)の記録が正しくインポートされているか確認してください。
インポートテストで入力したデータを削除する
データのインポートテストがうまくいったら、インポートした4件のデータを削除してください。
なぜなら、Zaimのインポート機能は記録の「上書き登録」がないからです。
本番データをインポートすると、記録が重複してしまいます。そのため、インポートテストで登録した4件の記録を手動で削除します。
インポートテストでたくさんのデータを入れた場合、記録の削除が大変な手間になります。少ないデータでテストを行うのは、そういう理由です。
Zaimに限らずとも、テストもせずに大量のデータをインポートで流し込むのは危険です。一般論として。
本番データのインポートを行う
インポートのテストがうまく行っていれば、本番データのインポートで失敗するリスクを下げられます。
先ほどと同じ手順で本番データをインポートします。
なお、データ量が増えるほど、インポートには時間がかかります。
「インポート完了」の旨が表示されるまでは、ブラウザを閉じたりせず待ちましょう。多少動きが無くても、しばらく放置しておく方がいいです。
インポートが終わったら、家計簿データの移行は完了です。全てのデータが正しくインポートされたか、月ごとに集計結果をマネーフォワードMEと比較して確認しましょう。お疲れ様でした。
マネーフォワードMEの有料会員の解除を忘れずに
家計簿データが正しく移行できて、作業にやり直しが無ければ、マネーフォワードMEの有料会員を解除しておきましょう。
Google Playストア版で初月無料の場合、初めの1ヵ月が経った時点で月額料金が徴収されます(具体的な日付は、マネーフォワードMEアプリで有料登録した際に表示されます)。その1ヵ月が経つ前に有料会員を解除すれば、料金は取られません。
放っておくと、1ヶ月毎に会員料金が徴収されてしまいます。ご注意ください。
コメント