メルカリは、個人間でお手軽に買い物ができるのがいいところです。
買った本を経理をするとなると、執筆日現在では、クラウド会計とのデータ連携もなく、CSVファイルもダウンロードもできません。
となると入力するしかないのか?
この悩みのタネを解消するにEvernoteとExcelを使っています。
メルカリで本を買うと経理は手間になる
メルカリで本を買うことがあります。
本を買うにはAmazonを利用することがほとんどですが、メルカリで買うことも多いです。
個人間で取引することができる、個人情報を開示しなくてもいいというのは、メルカリの大きなメリットです。
ただ、手間に感じることもあります。1番のデメリットは経理。
例えば、Amazonは取引データがクラウド会計にデータ連携されるため、摘要を自分でイチから入力する必要はありません。
![スクリーンショット 2019-06-09 15.52.37.png スクリーンショット 2019 06 09 15 52 37](https://www.gou-blog.com/wp-content/uploads/2019/06/c739e1f9595b19819111c5a00390a209.png)
![スクリーンショット 2019-06-09 15.52.37.png スクリーンショット 2019 06 09 15 52 37](https://www.gou-blog.com/wp-content/uploads/2019/06/c739e1f9595b19819111c5a00390a209.png)
マネーフォワードの画面
一方で、メルカリはクラウド会計でのデータ連携もできず、さらにCSVファイルをインポートすることもできません。(いずれも執筆日現在)
とはいえ、イチから入力するのも苦手なので、データ加工をして経理までつないでいます。
メルカリのデータ加工 Evernote→Excel
メルカリのデータを入力しないで、既にあるデータを使っています。
主には次のような流れです。ちょっと手間もありますが、入力が得意じゃないのでこれがあっています。
- メルカリアプリから購入の取引情報をコピーしてEvernoteへ
- Evernoteでデータ加工
- Excelに貼り付け
①メルカリで購入した画面情報をコピー
最初に商品情報を取得します。買った日の翌日などにその都度やっています。
まず、スマホからマイページから取引情報を確認し、商品情報をコピーし、
FastEverに貼り付けます。(Evernoteなどメモアプリならなんでも大丈夫です。)
このとき、いらないデータを削除し、行の違う各データを次のように1行にまとめてから保存します。
必要なのはタイトル、商品代金、購入日です。(この後のPC側でまとめても大丈夫です。)
②Evernoteでデータ加工
これ以降の処理は、まとめてやっています。
メルカリで買った本のメモをマージで1つにまとめて、
商品ごとに1行ずつにした後でコピー、(元々あるスペースなどはそのまま触らない)
これを準備したExcelフォーマット、セルA2にカーソルをおき、ペタッと貼り付けます。
必要な情報をExcelで加工する
このA列にある1行にまとめた情報のうち、必要なデータだけをうまく抽出する必要があります。
タイトル、日付、金額です。
タイトル(C列)
タイトルはLEFT関数を使います。「=LEFT(A2,4)」だとセルA2の左から4文字目までを表示します。
さらに文字を抽出するにはFIND関数を使っています。(Seachでも大丈夫です。)
FIND(”商品代金”,A2)で「商品代金」の文字は何文字目から開始されるかを値で返します。この場合「14」です。
これをまとめて、以下の式にしています。
「FIND(“商品代金”,A2)-1」とすることで「13」を返します。
ちとややこしい式ですが、まぁ1回設定するだけなのでやっておきます。
どのデータにも「商品代金」が入っているので、これでタイトルは抽出できます。(はず)
「商品」としないのは、本によってはタイトルに「商品」が入っていることがあるからです。まぁ、「商品代金」のつくタイトルの本を買ったら機能しなくなりますが…。
日付(D列)
日付は文字列の真ん中にあるデータを抽出したいので、MID関数。
どうやって抽出するかを考えるわけですが、今回は「購入日時の次から6文字を」という設定にしています。
実は”時”としても、エラーになります。実は「購入日時」の後ろにスペースがあるのです。
なので”時 (スペースを入れる)”。
ここまでちゃんと式に反映させないと、正しく表示されません。正確であるがゆえです。
「FIND(“時 “,A2)+1」で時の次の文字からという意味です。
これで日付が表示されるのですが、この時点では日付は文字列になっているので、うまくいきません。
このあと、日付に修正しますが、ここに入れるともっと式が複雑になるので…。詳しい内容は後述します。
金額(E列)
金額が一番ややこしい。
セルA2の場合、金額部分の1,200だけをうまいこと抽出する必要があります。
結果、「¥」と「購入」の間の文字を抜き出すような式にすることにしました。
=+MID(A2,FIND(“¥”,A2)+1,FIND(“購入”,A2)-FIND(“¥”,A2)-1)
うーん。さらに、ややこしいことになりました。
ここ、もうすこし詳しく見ておくとこんな感じです。
対象セルというのは、MID関数の対象となるセル。
例えば、MID(A2,6,2)だとセルA2の6文字目から2文字を抽出してという意味です。
最後のFIND関数の引き算をして、FIND(“購入”,A2)で「25」からFIND(“¥”,A2)-1での「18」を引き算しています。
結果、1,200という数字が出るわけですが、左に寄っていることからもわかりますが、これもまだ文字列の状態です。
Excelマクロを使って会計インポートファイル
さらにその右に会計処理用のデータをつくるようにしています。
ここでは先ほど、文字列のままだった2つのデータ。日付と金額に触れておきます。
![](https://www.gou-blog.com/wp-content/uploads/2019/06/cc48aca951c143d75759e2f1ea271ff8-500x101.png)
![](https://www.gou-blog.com/wp-content/uploads/2019/06/cc48aca951c143d75759e2f1ea271ff8-500x101.png)
G列で日付を、J列で金額を文字列→日付データに修正
日付データを文字列から変換
日付は文字列のままなので、これを日付データに変換します。ここで使うのはDATEVALUE。
G2=DATEVALUE(D2)
こうすることで、日付データに変換できます。
さらにCtrl+Shift+3で西暦表示にしています。
金額
金額も文字列の状態なので、これも金額データに変換。
あとのG〜Nの摘要までのセルにも前側のデータを引用するような数式を入れています。
これで2行目にはすべてのデータが入った状態になったはずです。
仕訳は、「新聞図書費1,200/メルペイ1,200」となるようにしています。
Excelマクロで「データ作成→CSVファイル」
最後にマクロを実行し、C2のデータをC3以下にコピーし、できあがった青フォントのデータをもとにCSVファイルをつくるようにしています。
Excelマクロ超入門 マクロを使ってもらうときにやっておきたいこと | GO for IT
ただ、データ数は毎回違いますので、自動で処理するならマクロを使うことになります。
次のようにつくってみました。ちなみに”mercari-buy”というのはシート名です。
売る側も機会があれば、ネタにするかもです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
Sub mercari() '■ データをカウント Dim i As Long i = Worksheets("mercari-buy").Range("a" & Rows.Count).End(xlUp).Row '■前回の履歴をいったん削除して新規コピー Worksheets("mercari-buy").Range("C3", "N" & Rows.Count).ClearContents Worksheets("mercari-buy").Range("C2", "N2").Copy Worksheets("mercari-buy").Range("C3", "N" & i) '■変換データをコピーする Worksheets("mercari-buy").Range("G2", "N" & i).Copy '■新しいブックをつくり、変換データを貼り付け Workbooks.Add '■変換データの値のみ貼り付け Range("a1").PasteSpecial Paste:=xlPasteValues '■D列の書式を「yyyy/mm/dd」に変換 Columns("A").NumberFormatLocal = "yyyy/mm/dd" '■import.csvという名前で、ファイルを作成し保存 Application.DisplayAlerts = False ActiveWorkbook.SaveAs Filename:="import.csv", FileFormat:=xlCSV, Local:=True ActiveWorkbook.Close Application.DisplayAlerts = True End Sub |
こちらの本を参考に書いてみました。
このマクロで生成されたCSVファイルをクラウド会計にインポートする流れです。
![](https://www.gou-blog.com/wp-content/uploads/2019/06/ec424af6ae716882029c69e1ca3989cc-500x161.png)
![](https://www.gou-blog.com/wp-content/uploads/2019/06/ec424af6ae716882029c69e1ca3989cc-500x161.png)
マネーフォワードでインポート
freeeでエクセルインポートをする場合には、Excelファイルで保存する必要があり、「Filename:=”import.csv”, FileFormat:=xlCSV」を「Filename:=”import.xlsx”,FileFormat:=xlOpenXMLWorkbook」とExcel仕様に変更すれば、
1 2 3 4 5 6 7 8 |
'■import.xlsxという名前で、ファイルを作成し保存 Application.DisplayAlerts = False ActiveWorkbook.SaveAs Filename:="import.xlsx", FileFormat:=xlOpenXMLWorkbook, Local:=True ActiveWorkbook.Close Application.DisplayAlerts = True |
同じようにインポートすることができます。
と、ここまでの流れを手間と感じるかどうかは、なんとも言えませんが、入力しないで既にあるデータを活かすということであれば、ちょっと強引ながら現状はこれでやっています。
データにさえ出会えれば、後はなんとかなります。
ひとまず買う側のデータだけですが、1つのやり方として参考にしていただければ。
売る側の経理処理については、こちらです。
メルカリで売った本の経理処理はどうすればいい? EveronoteとExcelマクロを使って効率化 | GO for IT
【編集後記】
昨日は夕方から長男(4)のカットへ。ちょっとかっこよくなった後はすすきの亭へ。さすがの味。
やっぱり1ヶ月に1回くらいは食べておかないと落ち着きません。
【昨日の1日1新】
※「1日1新」→詳細はコチラ
ミニストップ 沖縄パインソフト