仮想通貨の集計のすすめ【第20回】~計算編②~終

最終回^^

細かい計算はありすぎて、キリがないので、後は、送受信の関係のところだけ見ていきたいと思います。

計算の仕方として、取引所ごと、又は、すべての取引所をまとめて計算するなどあります。

取引所ごと計算する場合には、取引所A→取引所Bに送金したときの扱いをどうするかですが、考え方の1つは、取引所Aの数量及び単価を取引所Bに引き継いで計算することになります。

取引所Aでは、平均単価で払い出しをし、取引所Bでは、取引所Aから払い出された金額を引き継ぎ、この段階で、既存の分と単価を再計算します。
この時、手数料に関しては、送金した時点において経費計上することも考えられますし、少額なので、送金手数料は単価計算に含める事でも良いです。

すべての取引所をまとめて計算する場合には、送受信履歴は、送金手数料分が減ることになるので、その調整を忘れないことが必要になります。

基本的に、取引所間の送受信履歴は無視しても良いのですが、そうすると手数料分だけ残高数量にズレが生じることになります。実際は、端数まで詳細に合わせようとすると非常に手間なので、少額ずれるくらいであれば、最後にまとめて調整(どこかの段階で調整)しても問題ありません。残高数量と集計結果に大きな差が発生する場合には、漏れの可能性が大です。その場合は、見直し、原因を追求しましょう(わからないと泣きそうになりますw)。

20回、つらつらと書いてきました。20回目は無理やり増やした感があります。事実です。
まぁ、自分の勉強っていう部分でやってきたので良いのですが、個人事業主としては、商売としてカネを稼がないといけないよね、下手です(笑)明日から料金マシマシでやろう(やれない。

最後の方、だれちゃってわかりずらいところもありますし、これで全部ではなく、計算は多岐にわたります。
確定申告もしたことない、帳簿も付けたこともない、という人達が多くを占める?なか、事業者の様に、損益を計算し、確定申告をする・・・。大変だよね、でも、頑張ってと言うほかございません。。。微力ながら、少しでも確定申告に役立ててもらえれば。

何回も同じこと言いすぎってところもあるんですけど、送受信履歴(取引所以外のゴニョゴニョ)さえ、きっちり把握できていれば、なんとかなると思っています。その取引所以外のゴニョゴニョが色々ありすぎて、アレがアレなんですけどね・・・
情報が欠如、漏れなどがあると、すべての流れは繋がっているハズなので、更にハードルが上がってしまいます。そこがわからないと、結局、誰に頼んでも一緒です。

個人的には、税理士に頼っても・・・。むしろ、税理士(他人)が知らないことの方が多いです。
これで大丈夫なのか、という不安はあると思います。
こうしましょう。とか、つらつら書いてますけど、これで良いのかなという思いもあります。もっと良い方法はないのかなとか考えたりもします。
でも、明確な取扱いがない今、明らかに間違ったやり方でなく、事実をもとに計算した事に対して、とやかく言われることはないはずです。

絶対に間違えちゃいけない訳ではありません。そこまで心配する必要はありません。
間違えたら、やり直せば良いんです。多く払いすぎたら、返してもらう。少なかったら、追加で払う。多少、ペナルティを払うことになるかもしれませんが、自らちゃんと直せば大したことありません(JPYがなかったら大したことある)。立場的にはそんなスタンスで仕事したらどうなんだろって思うけど。

大丈夫です。まだまだ時間はあります。
こういう計算って生産性がないから無駄に思えるかも知れないけど、一度、知っておくのも良いと思います。
会社の損益の計算だって似たようなもんです(言いすぎ?w)。
この経験がしかしたら活かせるかもしれません(笑)

仮想通貨の集計のすすめ【第19回】~計算編①~

計算方法ですが、税務署への個別の問い合わせでは、「移動平均法」又は「総平均法」で計算してくださいという回答が多いようです。
その他にも、個別法、先入先出法、最終仕入原価法なども考えられます。

明確に「移動平均法」又は「総平均法」で計算しなさいという扱いは出ていません。取扱いとして、今後、適用される可能性が高い方法として、紹介します(基本的には、実態とかけ離れてしまうようなやり方ではない限りは、様々な計算方法が認められると考えられます)。

「移動平均法」とは、購入の都度、購入金額と残高の平均により単価を計算する方法です。
 
「総平均法」とは、今年の購入金額(前年から残高の繰越がある場合は、繰越金額を含める。)の平均により単価を計算する方法です。

年末までにすべて売却した場合は、売却損益は、どのような方法で計算しても結果は同じになります。

移動平均法は、黄色いセルの部分です。購入の都度、単価を再計算しています。
・2,679円÷1,793.491=1.4939円
・(2,679円+6,431円)÷(1,793.49+4,304.38)=1.4939円
・(2,679円+6,431円+953円)÷(1,793.49+4,304.38+378.86)=1.5536円
・・・・

それに対して、総平均法は、2017年に購入した金額合計÷購入数量で単価をまとめて計算しています。
・122,345円÷33,914.6499=3.60744円

年末までにすべて売却しなかった場合、移動平均法では、利益、総平均法では、損失。という様に計算方法や売買の状況によっては、損益に大きな影響がでます。

そのため、一度、計算方法を決めた場合、毎年、同じ計算方法を選択する必要があります。
また、今回のようなケースになった場合、移動平均法は課税されますが、総平均法は課税されません。
しかし、総平均法の場合、税金を納めなくても済みますが、損失を翌年に繰り越すことができません。
来年、売却して利益が出たとしても、今年のマイナス分と合算できないので、来年は、余計に税金を納める事になってしまいます。

といように、取引所内のトレードであれば、計算方法によって損益の額が変わりますが、ここまで、きちんと整理できていれば、それほど、難しくはありません。
ここに、仮想通貨の送金や受信などが加わることによって計算が複雑になってきます。
トレードの計算はそれほど、問題にはなりません。多くの問題は、送受信の部分、取引所外にあります。
なぜなら、どこに送ったのか、どこから受取ったのか、記憶が曖昧であったりして、覚えてないことの方が多いです。
自分では、ここにしか送金していないって思っていても、実際に送信履歴を見ると違うところに送金している形跡があって(盗難にあったということではない)、それが何なのか思い出せない。受け取る場合も然り。
ここの内容を知っているのは、実際にやりとりをした自分だけです。

私が知っている訳がありません。
依頼されるにしてもそこがわからないと困るんですよ。聞いても知らないとか言われてもこっちの方がもっと知らねーよって話だし、それでなんとかなりませんかって私に言われても・・・。おっと・・・。

ホント、整理して、把握する、大事。

仮想通貨の集計のすすめ【第18回】~データ合算編②~

前回、仮想通貨の種類ごとにシートを分けました。

この状態でほぼほぼ計算に進んでも良いかと思いますが、もう少しやっておくべきことがあります。

基軸となっている仮想通貨は、「mkt1」、「mkt2」にも情報が入っています。
このままでも計算は出来るんですけど、「mkt1」に集約したいということで「mkt2」に入っている情報を「mkt1」へ組み替える作業をします(損益計算をする式を複雑にしないために組み替えるだけなので、組み替えなくてもおk)。

方法は、日付に順に一旦並べてあるのですが、「mkt2」で並べ替えをする。
並べ替えをすると「mkt1」に振り替えをしたい、行とI列からN列を切り取って、C列に挿入することにより「mkt1」と「mkt2」のデータが入れ替わります。
あとは、再び、日時で並べ替えをすれば、時系列に並べ替えが行われ、集計したい仮想通貨がすべて、「mkt1」の方に情報が入っている状態になります。

そして、もう1つ、計算に入る前に必ず確認しておいていただきたいのが、取引所の残高数量とExcelの残高数量が一致していることを確認してから計算に進んでください。
ここが間違っていると、結局、計算しても意味がありません。
間違っているということは、取引データに漏れがある可能性が非常に高いです。
その他にも、去年であれば、ETCがいつの間にか付与されていて、残高が合わなかったりします。
今年もBCHがあるので、その部分で残高にズレが生じると思います。
あとは、イベントの報酬関係なんかもダウンロードデータに含まれていない場合が多いです。
この辺が非常にキツイ部分で、なかなか残高が合わないジゴクに陥らない様に気を付けてください。
ここで確認して進まないと間違っていた時のダメージは更に増大します。

シートの右側に残高数量の列を作成しましょう。
———————————–
=IF(OR(D3=”Buy”,D3=”受信”),+R2+H3,+R2-H3)
———————————–
IF関数とOR関数を使います。
mkt1売買には、データ整理の段階で、Buy、Sell、送金(なぜ送信にしなかった?w)、受信のいずれか4項目が入るようにしています。
なので、Buyか受信に該当すれば+、Sellか送金に該当すれば-となるように計算式を組みます。
さきほど、「mkt1」と「mkt2」を組み替えたのは、このIF関数の計算式を複雑にしないためです。

次は、いよいよ計算編です。

仮想通貨の集計のすすめ【第17回】~データ合算編①~

ここからは、データ合算編です。

各取引所ごと損益を計算するのか。
それともすべての取引所をまとめて損益を計算するのか。

どちらでも良いと思います。

どちらでも可能なようにデータの整理をして、項目が合うようにしたのが前回までです。

私は、取引所ごと損益の計算をしています。

今回は、取引所ごとの集計という流れでいきますが、やり方は変わりません。

まず、取引データ、送金データ、受信データなど、整理したデータを1つにまとめます。
コピペです。

貼り付けが完了したら、日時で並び替えをして時系列を整えます。

ただ、これだと、色々な仮想通貨が混同していて集計しづらいです。

仮想通貨ごとに分けてあげる必要があります。

アルトコインの種類が多いと、人力で分けるのも大変です。
では、どうするか。自分だけなら多分、頑張って地道に分ける方法を選択したでしょう。
しかし、複数回やるとか考えちゃったら、効率的ではないです。
そんなときには、マクロの出番です。
マクロの説明をするほど、出来ませんw独学で何となく記述しているだけなので・・・。

一応、どうやって、仮想通貨ごとに分けているかというと、AdvancedFilterを使ってます。
—————-
shJIT.Range(“A1:O” & lngJlRw).AdvancedFilter Action:=xlFilterCopy, _
criteriarange:=shMarket.Range(“J1:K3”), _
CopyToRange:=shGl.Range(“A1:O” & lngJlRw), Unique:=False
—————-

【shJIT.Range(“A1:O” & lngJlRw)】は、【AdvancedFilter】で抽出するデータの範囲を指定しています。
【Action:=】は、抽出する条件に該当した場合に実行される内容です。
【xlFilterCopy】は、抽出するデータを新しい場所にコピーします。

【criteriarange:=】は、抽出する条件を指定します。
【shMarket.Range(“J1:K3”)】は、抽出する条件です。
仮想通貨の種類が入っている列は、shJITシートの「mkt1」と「mkt2」です。
「J2」に抽出したい仮想通貨の名称「K3」にも同じ仮想通貨の名称を入れると、その条件をもとに抽出してくれます。
「K2」に仮想通貨の名称を入力してしまうと、抽出条件が変わってしまいます。
「K2」に入力すると「mkt1列」と「mkt2列」に指定した仮想通貨の名称がある場合に抽出する。AND条件になります。
「K3」に入力すると「mkt1列」又は[mkt2列」のいずれかに指定した仮想通貨の名称がある場合に抽出する。OR条件になります。
【CopyToRange:=】は、どこにコピーするのか、コピーする範囲を指定します。
【shGl.Range(“A1:O” & lngJlRw)】は、新しいシートのA列からO列にデータを貼り付けます。
【Unique:=False】は、重複する行も含めて抽出します。
「mkt1」と「mkt2」に同じ仮想通貨の名称が入ることがないようにデータ整理をしているので、「False」にしてますが、「True」にすると重複する行が無視されるようになります。

あとは、Do Loopなどを使って、繰り返し処理を実行して、仮想通貨の種類ごとにデータを分けるようにします。

参考エクセルです。
07集計表_AdF

仮想通貨の集計のすすめ【第16回】~POLONIEX整理編②~

今回は、Poloniexから他の取引所やウォレットへ送信したデータ整理&受取です。

約定履歴と同じ体裁にするために整理をしていきます。
今回のデータ整理で注目するところは、赤枠の「事由」、「単価」です。
ここが一番、面倒な部分になってくると思います。
まず、「事由」ですが、とりあえず、ここは任意で良いかと思います。CCに資金移動したとかICOに送金したなどわかる範囲で入力していきます。
次に「単価」です。項目としては非常に重要なのですが、この時点で「単価」入力することができるのは稀なので入力しなくても構わない部分です。

「事由」がハッキリわかっていると集計作業は非常に楽になります。

あとは、基本的に組み替えをするだけです。手数料に注意するくらいです。
また、mkt2に関しては、送信の場合には、「事由」を入れておきます。ほかのmkt2の情報はなしでおkです。
これは、Poloniexで送信された仮想通貨が、他の取引所では、受取ることになった場合に重複しないように後々、利用するための仕様です。
それに加えて、日本円換算額はmkt1単価に数値が入らないので0ですが、気にしないでください(現時点で単価を計算することは困難です。約定履歴データなどと合わせたときに計算できるようになります)。基本的にここも後から入力する項目になります。

受け取る場合も送信と同様の内容になるので省略します。

参考にExcel置いておきます(フルVerじゃない)。
送信
04poloDraw
受信
03poloDeposit

仮想通貨の集計のすすめ【第15回】~POLONIEX整理編①~

間隔空いてしまいましたが、第15回をやっていきたいと思います。
整理編に関しては、どの取引所もやることは似たような形になるので、Coincheckと今回のPoloniexで終了です。

仮想通貨の集計のすすめ~POLONIEX取引データ編~で取引データをダウンロードしました。

結果、何も修正を加えていない場合、このような状態になっていると思います。

これだと、集計しづらいので、データの組み換えや情報を追加して、整理していきます。

整理編は、基本、Excelの勉強の時間です。

まずは、取引所:約定履歴から。
tradeHistory.csvというような名称でダウンロードされています。
これを開くと、A~K列に値が入っています。

日付は、Coincheckと違ってExcelで日付と認識してもらえるので、そのまま利用することができます。
Poloniexは海外の取引所なので、取引をレート換算する必要がでてきます。
なので、JPYレートを参照するときに時間も入っていると参照しづらいので、INT関数を使って、時間を取り除きます。

あとは、Marketを分けて、それぞれの情報を入れていきます。
Marketの/より左側と右側に分ける方法ですが、Left関数を使います。
Left関数は、指定したセルの値を左から〇〇文字、取り出すことができる関数です。
Left(B2,3)でB2のセルの値3文字を取り出すと、ETHです。

しかし、常に3文字とは限らないので、FIND関数を併用します。
FIND関数は、指定したセルの値の中に検索したい文字列が〇文字目にあるかを調べる関数です。
FIND(“/”,B2,1)とした場合、B2で検索した「/」が一番初めに登場するのは、4文字目になります。
(一番後ろの1は、検索を開始する位置を指定することができます。今回は左から1文字目から検索するので1となります。)

併用するとこんな感じです。
LEFT(B2,FIND(“/”,B2,1)-1)
FIND関数では、左から数えて空白を含めた文字数4という値が返されます。
「/」よりも前の文字をLEFT関数で抽出したいので、4-1=3という値になるようにFIND関数の後ろに-1を付けてあげます。

Marketの右側を抽出するには、今度は、RIGHT関数&LEN関数を利用するかSUBSTITUTE関数&CONCATENATE関数を利用します。
———————
RIGHT関数は、指定したセルの値を右から〇〇文字、取り出すことができる関数です。
LEN関数は、指定したセルに含まれる文字列の文字数をカウントします。
SUBSTITUTE関数は、指定したセルに含まれる文字列を置換する関数です。
CONCATENATE関数は、指定した値と指定した値を繋ぐ関数です。
———————

Poloniexの取引データの特徴は、手数料がBuyの方からマイナスされることです。
D列のTypeに入っているBuy又はSellは、Marketの左側の仮想通貨に関して、購入したのか、売却したのかを表しています。
なので、左側の仮想通貨がBuyの時は右側の仮想通貨はSellになります。
手数料がどちらの仮想通貨からマイナスされるのか間違えない様に注意してください。計算が大きく変わってきてしまいます。

仮想通貨同士の売買の時には、常にどちらかの仮想通貨で所得の計算が行われることになります。
なので、Market1で集計、market2で集計とそれぞれ分けて集計可能な状態にしていると後々、楽だと思います。ここ結構重要です。
どんな方法でも良いですが、単式で集計しようとするとかなり苦労することになると思います。
単式というのは、組み替えをしていない一番初めの状態をここでは指します。

参考にExcel置いておきます(フルVerじゃない)。
02poloTrade

仮想通貨の集計のすすめ【第14回】~Coincheck整理編③~

今回は、Coincheckから他の取引所やウォレット、決済などで送信したデータ整理です。

約定履歴や販売所の売買などと同じ体裁にするために整理をしていきます。
日付と日時の抽出の仕方は、第11回を参考にしてください。

今回のデータ整理で注目するところは、赤枠の「種別」、「事由」、「単価」です。
ここが一番、面倒な部分になってくると思います。
まず、「種別」ですが、Coincheckで送信履歴をダウンロードするとすべての仮想通貨の送金データを取得することができますが、初期情報として、BTCの送金なのか、ETHの送金なのかがAddressからしか読み取ることができません。
なので、Addressから判別又はCoincheckサイトの送金履歴側では何を送金したか確認できるので、それを見ながら入力することになります。
続いて、「事由」ですが、ここは任意で良いかと思います。Zaifに資金移動したとか飲食代で支払ったとかわかる範囲で入力していきます。
最後に「単価」です。ここも項目としては非常に重要なのですが、この時点で「単価」入力することができるのは稀なので入力しなくても構わない部分です。

「事由」がハッキリわかっていると集計作業は非常に楽になります。

あとは、基本的に組み替えをするだけです。手数料に注意するくらいです。
また、mkt2に関しては、送信の場合には、「事由」を入れておきます。ほかのmkt2の情報はなしでおkです。
これは、Coincheckで送信された仮想通貨が、他の取引所では、受取ることになった場合に重複しないように後々、利用するための仕様です。
それに加えて、日本円換算額はmkt1単価に数値が入らないので0ですが、気にしないでください(現時点で単価を計算することは困難です。約定履歴データなどと合わせたときに計算できるようになります)。基本的にここも後から入力する項目になります。

受け取る場合も送信と同様の内容になるので省略します。
但し、マイニングなどの事由がある場合には、少々複雑になってきます。
今回の目的としては、整理と集計なので所得(儲け)の計算側は一旦、棚上げです。

参考にExcel置いておきます(フルVerじゃない)。
送信
05CCSend
受信
06Deposit

仮想通貨の集計のすすめ【第13回】~Coincheck整理編②~

今回は、Coincheck販売所でコインを買った場合のデータ整理です。

販売所で購入した場合の取引データを前回の第11回と同じ体裁にするために整理をしていきます。
日付と日時の抽出の仕方は、第11回を参考にしてください。
http://wp.me/p88T8G-t7

ここも大部分は、第11回を参考にしてください。

今回のデータ整理で注目するところは、赤枠の単価部分です。mkt1とmkt2共に今回のケースでは日本円換算後の単価になっています。
なぜ、日本円の換算額にしているかというと、確定申告はすべて円建てです。BTC建てで確定申告することは出来ないので、日本円換算をしている流れになります。
私としては、仮想通貨同士の売買が課税対象にはならないという見解には疑問がありますので、今回の様に仮想通貨同士の売買であっても所得(儲け)を計算できるように対応しているということです。
かといって、購入した時点でのBTC価格がいくらなのかは不明です。そこをどうするかというのも選択の余地があると思います。
その日の終値なのか、始値なのか・・・、気分によって選ぶのではなく、その日の終値と決めたらずっと継続して、その方法によって換算していくことにします。気分によって選んでいる場合については、税務署側から価格を操作しているというあらぬ疑いをかけられる恐れがあるので、ルールを決めて運用することになります。
今回のケースでは、購入した日の平均レートによって換算していく方法を継続します。ということにして、換算しています。あくまで、1つのやり方です。

この辺は、取扱いが明確ではないので、日本円換算する必要がないかも知れません。デモね、日本円で購入、BTCでも購入した後に、その仮想通貨の一部を日本円で売却した場合の取得価額の計算どうするんですか?という所を考える必要がでてきます。

さて、どうやってBTC単価をもってくるか、ここからはExcelの勉強です。

mkt2単価に購入した日のBTC平均単価の値が入るようにしたい。
VLOOKUP関数を利用します。
VLOOKUP関数は、指定した範囲から、検索する値と同じ行にある値を返します。
今回のケースでは、BTCのレート表から、「日付」をキーにして、BTC単価をもってくるようにします。

VLOOKUP(B2,BTC!$A:$B,2,0)

B2=「日付」
BTC!A:B=BTCシートのA列~B列の範囲で同じ「日付」の行があるか調べます。
一致する「日付」があった場合に、その行のうち、B(2)列の値を返します。

Coincheck販売所では、「BTC」の場合と「JPY」の場合があるので、VLOOKUP関数だけだと、「JPY」で購入した時もBTCの平均単価の値が入ってしまいます。
なので、IF関数を併用します。
mkt2の値が「BTC」の場合には、VLOOKUP関数を使用して、それ以外の場合には、JPY単価「1」の値が入るようにします。

IF(I2=”BTC”,VLOOKUP($B2,BTC!$A:$B,2,0),1)

I2=”BTC”=mkt2がBTCだったときには、VLOOKUP関数を使用する。そうじゃない場合は、1という値が入るように分岐するのがIF関数です。

これによって、O列に日本円換算額(購入総額)が計算されるので、mkt1単価も日本円換算額÷mkt1数量で日本円の単価を算出することができます。

Coincheck販売所で売却する場合も同様なので、そっちの説明は省略します。

ところで、各取引所の終値や始値、平均単価を楽に出力できる方法はないでしょうか。
どなたか教えてくださいm(._.)m おねがい

参考にExcel置いておきます(フルVerじゃない)。
購入
03CCBuys
売却
04CCSells

仮想通貨の集計のすすめ【第12回】~Coincheck整理編①~

Coincheck取引データ編①と②でダウンロードしました。

結果、何も修正を加えていない場合、このような状態になっていると思います。

これだと、集計しづらいので、データの組み換えや情報を追加して、整理していきます。
Excelの勉強の時間ですね。

まずは、取引所:約定履歴から。
my-complete-orders-2017-08-07.csvというような名称でダウンロードされています。
これを開くと、A~G列に値が入っています。

完全に好みですが、Dateの値を日付と日時(日付+時間)に変換します。
なぜ日付と日時に分けるかというと、日付については、仮想通貨同士の売買に関しても課税となった場合に、日付で、その日のレートを参照するときに使用します。現行税制では課税される可能性が高いので、あとで集計できるように日付のみのデータを抽出しています。
続いて、日時ですが、これは、並び替えをする時に利用します。他の取引データ、例えば、販売所でBTCを購入した場合の日付については、日時にプラスして「UTC」という値になっています。対して取引所の約定履歴には、日時にプラスして「+0900」という文字列が入っているため、気分的に嫌というだけです(並び替えをする時に多分影響がないと思うので、気分ですね)。

では、どうやって日付を抽出するか。ここからはExcelの勉強です。

Left関数を使います。
Left関数は、指定したセルの値を左から〇〇文字、取り出すことができる関数です。
Left(A2,10)でA2のセルの値10文字を取り出すと、2017-06-07(10文字)です。
同じように、Left(A2,19)でA2のセルの値19文字を取り出すと、2017-06-07 09:05:23(空白も入れて19文字)という形になります。

例えば、日付が2017-6-7というように月や日の前に0が入っていないようなパターンの場合には、FIND関数を併用すると便利です。
FIND関数は、指定したセルの値の中に検索したい文字列が〇文字目にあるかを調べる関数です。
FIND(” “,A2,1)とした場合、A2で検索した「空白」が一番初めに登場するのは、11文字目になります。
(一番後ろの1は、検索を開始する位置を指定することができます。今回は左から1文字目から検索するので1となります。)

FIND関数で取得した文字数をLEFT関数と併用する事により、月や日の前に0が表示されていないパターンにも対応することができます。
併用するとこんな感じです。
LEFT(A2,FIND(” “,A2,1)-1)
FIND関数では、左から数えて空白を含めた文字数11という値が返されます。
空白よりも前の文字をLEFT関数で抽出したいので、11-1=10という値になるようにFIND関数の後ろに-1を付けてあげます。

次に、販売所などと合わせられる様に、組み替えを行います。

私は、複式簿記大好きなので、大きく分けて、market1とmarket2という形を設けています。
market1がBTCの売却であれば、market2は、日本円の購入というようになります。
なぜ、このような形なのかというと、仮想通貨同士の売買だった時には、仮想通貨それぞれの数量を把握しなければ、残高数量が一致しません。もちろん、日本円の残高も合わせることが可能です。
market1で集計、market2で集計とそれぞれ分けて集計可能な状態にしていると後々、楽だと思います。ここ結構重要です。
どんな方法でも良いですが、単式で集計しようとするとかなり苦労することになると思います。
単式というのは、組み替えをしていない一番初めの状態をここでは指します。

日付は、-から/に更に変換しています。-の状態だと、見た目は日付なのですが、日付と認識してくれないので、DATEVALUE関数を使って、日付の値になるようにします。日時も同様です(+TIMEVALUE関数を使用)。

問題は赤枠で囲ってある部分です。この部分に関しては、次回、説明します。
とりあえず、日本円の時は単価1円表示しています。

他の販売所の取引データや仮想通貨の送受信履歴もA列からO列に組み替えをしてしまえば、集計が容易になります。

参考にExcel置いておきます(フルVerじゃない)。
02CCOders

仮想通貨の集計のすすめ【第11回】~整理できるとこうなる~

こちらの動画をご覧ください。
夏休みの成果物ですw


実際には、こんなにうまく集計できないですけど、データを整理することによって、その後の工程がスムーズに行うことが可能になります。
ポイントになるのは、受取や送金の部分の情報を補足することが大事です。

ダウンロードしたデータを貼り付け。
送受信に関して補足事項追加。
Excelの数式で体裁整理。
取引データ、受取データ、送信データを合算。
各仮想通貨ごと区分。
所得計算。
という流れになります。

Excelのマクロ使って、こーゆーの作るのも面白いです。