仮想通貨の集計のすすめ【第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