こんにちは。Web3に興味があって、AIをもっと使いこなしたい中高年を応援するWeb3とAIマニアじいじのko_sanです。

仮想通貨で利益が発生した場合に確定申告が必要らしいけど、過去のデータって為替も仮想通貨のレートも変動するし、どうやって利益を計算したらいいの?APIとかは難しいのでExcelやスプレッドシートでできる方法を教えて!



そんな疑問にお答えします。記事では、Excelを使用して1年間の為替レートとトークン一覧表をExcel/スプレッドシートをAPIを使用せずに作成する方法を紹介します。



特に損益計算に必要な特定の日付のレートを簡単に取得できるための、計算式とデータ提供サイトも併せて紹介します。
初めての確定申告の時に参考にしてください。
◾️仮想通貨(暗号資産)で利益が出た場合の確定申告が必要なケースとは
そもそも、仮想通貨(暗号資産)の取引などで利益が出た場合に確定申告が必要かどうかは、利益額が20万円を超えたかどうかが判断基準になります。
仮想通貨で利益が発生したと見なされるタイミングは、以下の場合です:
- 仮想通貨を法定通貨(円など)に換金した時
- 仮想通貨を他の仮想通貨と交換した時
- 仮想通貨で商品やサービスを購入した時
これらの取引時に、取得価格と売却価格(または交換時の時価)の差額が利益として認識されます。他にエアドロップや何かの報酬を受け取った時、ステーキング報酬を受け取った時も対象になります。
詳しくはこちらの記事を参照ください。


自分でExcel表を作成するのは手間がかかります。そんな時は、クリプタクトというサイトを使うととても楽です。


それでも海外の取引所などをクリプタクトの安めの有料プランでは自分で確認する必要が生じる場合があります。APIをうまく使えば楽そうですが、私のようになれない中高年にとっては、やはりExcelで作った方が無難な場合もあります。
そんな時になるべく作業効率を上げたいですよね。
以下、Excelとスプレッドシートで為替レートの一覧表を作成するための具体的な手順を紹介します。
必要なデータフォーマットや便利なVlookup関数についても実際に使ってみて便利だったので解説していきます。
◾️過去の為替レートと仮想通貨(暗号試算)のレートが参照できるおすすめサイト
1)過去の為替レートが無料で取得できるサイトとデータ入手のやり方
いくつかあるようですが、試してみて無料でわかりやすかったのが、Investing.comというサイトです。
クリックするとこの画面になります。ドル/円を選択します。


この画面になるので「過去のデータ」をクリックします。


そうするとこの様に過去のデータの一覧が表示されます。ダウンロードもできますが、その右側の範囲をクリックして、例えば2024年の1月1日から12月31日までに指定して表示させ、コピペして一気にExcelやスプレッドシートに貼り付けることもできて、とても便利です。


2)過去の仮想通貨(暗号資産)のレートが無料で取得できるサイトとデータ入手のやり方
続いて仮想通貨(暗合資産)について同様に1年分のデータをExcelやスプレッドシートにコピペする方法を紹介します。
おすすめのサイトは、こちらのCoinMarketCapの日本語サイトです。無料で使えて、為替の場合と同様に期間指定でデータをExcelやスプレッドシートにコピペすることができます。
こちらが最初の画面です。仮想通貨(暗号試算)の時価総額上位100銘柄が表示されています。ここで、知りたい通貨をクリックします。ここではBTC(ビットコイン)の例で示します。


ビットコインをクリックすると次のような画面になるので、下にスクロールして「ヒストリカルデータを見る」をクリクします。


すると日付に対応したビットコインの価格データ一覧が表示されるので、csvデータでダウンロードもできますが、期日指定をしたいので、その横のカレンダーをクリックします。


この様に2024年1月1日から12月31日まで範囲指定します。


すると指定通りの記事で一覧が表示されるので、コピペしてすぐにExcelやスプレッドシートに貼り付けることができます。


これはとても便利ですね。他のETHやSOLなどのアルトコインも同様にできます。
◾️過去の1年分の取引履歴に作成したレートの一覧表のシートを合体して参照する方法
1)仮想通貨(暗号資産)をステーキングした場合の報酬額の算出方法について
仮想通貨をステーキングした場合に定期的に報酬が入りますが、利益額を算出したい場合、最終的な日付での合計額を日本円に変換して計算するのか、利益が入った日でその都度算出して計算するのかどちらが正しいやり方だと思います?
わからなかったので、AIに聞いてみました。


答えはこちら。


日々変動するAVAXの時価をそれぞれJPYに変換して算出しなければいけないということで、そんな時にAVAXの時価の1年分のExcel表が必要になるわけです。
2)ステーキング報酬の1年分の報酬額をVlookup関数を使ってサクッと表計算する方法
計算する表の例最終結果はこちら。


最初のシートはBybitのステーキングの1年間の結果をダウンロードしたシートがベースになっています。そこに、先ほどの各種仮想通貨で関連するBTC、SOL、AVAX、USDTのシートの1年分の価格データのシートを追加しておきます。
3)日付のフォーマットの仕方とVlookup関数の使い方
ここで注意する点は2つあります。Bybitからのデータの日付のフォーマットと、仮想通貨の価格データの日付のデータのフォーマットを合わせることと、Vlookup関数を使って対応する日付の時価を参照して表示させることです。
①日付のフォーマットを合わせるやり方
Bybitからダウンロードしたデータでは日付のデータには時間のデータも含まれているのに対して、CoinMarketCapからダウンロードした仮想通貨の日付データには含まれていません。ここを合わせる必要があります。


まずは、日付のデータだけにするために次の関数を使います。
=ARRAYFORMULA(TEXT(A2:A, “yyyy/mm/dd”)
これで時間のデータを取り除いて、さらにC列に数値でコピーした後に、2024/01/01の0が余計なので、セルの書式設定で、日付を選んで、2024/1/1となる様にAVAXのシートと日付のフォーマットを合わせます。


②Vlookup関数を使って、対応する日付の仮想通貨の時価を参照して表示させるやり方
Vlookup関数とは、=VLOOKUP(検索値, 範囲, 列番号, [検索の型])の構文となっていて、指定した値(検索値)を、データの左端の列から探し、その行の中から目的の列の値を返します。
この例では、以下のようになってます。


検索値として、$C2:C列の日付と一致するAVAXのシートをA2からE366まで検索して5番目の列(E列)の値を返します。
例えば2024/1/1の場合は、AVAXの終値5,907円を見つけて、メインのシートの報酬を受けた時点の対応通貨時価(円)のI列2行目に5,907円という値を返しているわけです。
検索の型のところは、TRUEまたはFALSEを指定しますがここはなくても大丈夫ですが、とりあえずFALSE(並び順に関係なく正確に一致する値を探す)といれておきました。
これで、通貨がAVAXでもBTCでもUSDTでも対応するシートを入れておけば、その日の終値を自動的に返してくれるので、損益計算がめちゃ楽になりました。
◾️まとめ
この記事では、過去の為替レートや暗号通貨の時価データを効率的に取得し、一覧表示する具体的な方法と、取得したデータをVlookup関数を使って、日々変動する仮想通貨の時価を参照してステーキング報酬などを正確に計算する方法を解説しました。
APIを使わずにサクッと計算できて、確定申告で利益額をどうやって計算したらいいかお悩みの仮想通貨投資初心者の方に参考になれば嬉しいです。