2017年10月20日追記
この記事後に「エクセルで為替レートをシートに自動取得する方法(決定版)」を投稿しました。はるきちとしては、やはり(決定版)がお薦めですので、そちらから確認してください。
—————-
先日の記事「スワップ鞘取り ~資金管理にGoogleスプレッドシートを活用する方法」で、Googleスプレッドシートで為替レートを自動取得する方法を紹介しました。GoogleFinance関数を使うことでリアルタイムに近い為替レートを自動取得してFX投資での資金管理をしていくことにしました。
はるきちは、データ分析業務に携わっていたことがあり、ず~っとエクセルを使ってきておりまして、Googleスプレッドシートよりはエクセルを使うのが楽ちんです。ということでエクセルでも為替レートを自動取得出来ましたので紹介します。
エクセルでWeb上のデータを取得する
元データとなるWebサイトを探す
エクセルで為替レートを取得する場合に以下2点に合うWebサイトを探す必要があります。
- 必要な通貨の為替レートが提供されている
FX投資の検討・管理の元データですので、必要な通貨に対応していることが条件 - エクセルのWebクエリ機能で取得できる
この1と2を満たすWebサイトを見つける必要あるのですが、探すのは少し面倒です。まず、FX業者さんのホームページの為替レート情報をいくつか試しました。最近、中国元にも関心があるためポジションを持っているSBI証券(為替レートページ)や楽天証券(為替レートページ)で確認しましたが、うまく取得できませんでした。
いろいろ探してみた結果、Investing.comの各国通貨レートのページで取得してみています。
エクセルでWebクエリ機能を使う
対象のWebサイトが決まれば(前の探している段階で既にこの作業は必要ですが)、エクセルに取り込みます。新規ブックで「データ」タブ⇒「Webクエリ」を選択します。
Webクエリの画面で、「アドレス」に対象ページのURLを入れて「移動」をクリック。しばらくすると対象ページが読み込まれますので、読み込みたい「テーブル(表)」を指定します。今回は、左上の「黄色い矢印」を選択し(緑に変わる)、右下の「取り込み」をクリックします。次のダイアログで、既存シートか新規シートを指定するとデータが読み込まれます。
かなりスクロールするくらい下の方になりますが図の通りです。
通貨の為替レートだけでなく、ビットコインや金、銀などのレートも含まれています。
この後は、自分の使いたいシートから必要な部分を参照して使うことができます。
データの更新
読み込んだデータの更新ですが、いくつか方法があります。
ひとつは、必要な際に手動で更新する方法です。「データ」タブ⇒「すべて更新」or「更新」をクリックします。
もうひとつは、「プロパティ」から更新タイミングを設定しておく方法です。「ファイルを開くときにデータを更新する」としておくと良いのではないでしょうか。
まとめ
エクセルにもWebクエリ機能があり、為替レートだけでなくWeb上の情報を自動取得させることができます。ちょっと使ってみた感触をまとめてみます。
- メリット
- 多様な使い方ができる
GoogleFinance関数のように金融系の為替レートや株価(米国)に特化した関数ではないため、いろんな会社のスワップポイント情報を集めるとか多様な使い方ができそうです。
注)GoogleスプレッドシートにもImportHTML関数等で近いことができます。 - 使いなれたエクセルでデータ活用できる
これは万人に共通するわけではありませんが、Googleスプレッドシートよりも使いなれた人が多いと思います。
- 多様な使い方ができる
- デメリット
- 取得先のWebサイトの仕様に影響される
今回で言えば、為替レート提供サイトの仕様が変わると取得できなくなったり、シートの調整が必要になります。
- 取得先のWebサイトの仕様に影響される
はるきちはエクセルを使い慣れていますので、エクセルで為替レート取得できるならと喜びましたが、為替レート取得に限ればGoogleスプレッドシートの方が簡単です。為替レート取得以外のところがメインの場合はエクセル、為替レート取得以外は簡単ならGoogleスプレッドシートといった、目的に応じた使い分けということになりそうです。
また今回使ったInvestment.comの為替レートページですが、取得できるデータが多すぎて大変であったり、仕様が変わりそうな不安という感触もありました。
エクセルのWebクエリを使っている/試した方で、このサイトが取得先として良いよというお薦めがあれば是非コメントで教えてください。
はるきち
———–
この記事ではExcel2013(詳しくは下の図)を使っています。