ページは「外為ジャパンの為替レート」
http://www.gaitamejapan.com/fx/rate.html
このページの為替レートをEXCELのWEBクエリで取得したいのですが横線が表示され取得できません。
レート表示は以下のURLの様ですがここから解読をお願いします。
http://www.gaitamejapan.com/fx/rate.php
以上、宜しくお願いします。
データのところに "-" が入ったさみしい表しか表示されない、ということですよね。
この rage.php を表示したときに、ブラウザの「ソースを表示する」でみると分かるのですが、このリクエストで返ってくるのが、
データが全て "-" の表になってて、その後、javascript でデータが更新されています。
実際にデータを取得する URL は、http://www.gaitamejapan.com/market/rate/getrate.php です。
ブラウザで表示してみると分かりますが、以下のような体裁でデータが返ってきます (JSON と言われる形式です)。
{"timestamp":"1305549855213","rate":[{"timestamp":"1305549854253","currency_pair":"NZDJPY","bid":"62.861","ask":"62.891","bid_high":"63.696","bid_low":"62.650","change":"-0.699","buy_swap":"39","sell_swap":"-49"}, (以下、省略)
Excel だけでやりたければ、VBA で解析するしかないかなあ、という感じ。
データのところに "-" が入ったさみしい表しか表示されない、ということですよね。
この rage.php を表示したときに、ブラウザの「ソースを表示する」でみると分かるのですが、このリクエストで返ってくるのが、
データが全て "-" の表になってて、その後、javascript でデータが更新されています。
実際にデータを取得する URL は、http://www.gaitamejapan.com/market/rate/getrate.php です。
ブラウザで表示してみると分かりますが、以下のような体裁でデータが返ってきます (JSON と言われる形式です)。
{"timestamp":"1305549855213","rate":[{"timestamp":"1305549854253","currency_pair":"NZDJPY","bid":"62.861","ask":"62.891","bid_high":"63.696","bid_low":"62.650","change":"-0.699","buy_swap":"39","sell_swap":"-49"}, (以下、省略)
Excel だけでやりたければ、VBA で解析するしかないかなあ、という感じ。
早速の回答、ありがとう御座います。
CSVに似てますがJSONと言うのですね、なるほど。
通貨名から(VBAで)bid値をカットして取り出せば目的の回答を満たせそうです。
できましたら、もう一つ質問なのですが・・・
データ中の13桁のタイムスタンプから実際の日時・時間を取り出すにはどうすれば良いでしょうか?
ご回答頂ければ幸いです。
データ中の13桁のタイムスタンプから実際の日時・時間を取り出すにはどうすれば良いでしょうか?
javascript の Date (日付を表すクラス) の表現で、1970年1月1日0時0分からの通算ミリ秒です。
Excel でやるなら、TEXT 関数が使えますね。
Excel だと日付は 1900年1月1日 0時0分が 1 なので、1970年1月1日0時0分 は 25569 ですから、
(13桁の数値)/1000/60/60/64 + 25569
を、セルに入れて、表示形式を日付+時刻にするか、VBA で Format 関数を使う、って感じですかね。
後、javascript の時刻表現は UTC なので、日本時間に直すなら、9時間ずらすこともお忘れなく。
回答数の上限に達したので、話が続くなら、上限数を増やすか、コメント欄を開いておいてください。
続けて回答ありがとう御座います。
因みに上記一つ目の13桁をa-kuma3さんの公式で入力してみました。
=(1305549855213)/1000/60/60/64 + 25569
そうすると日時に変換されたのですが・・・
1985/7/7 10:46:36
こんなに古い日時になってしまいました。
何かおかしいのでしょうか?
コメント欄、開いてあります。
回答者 | 回答 | 受取 | ベストアンサー | 回答時間 | |
---|---|---|---|---|---|
1 | ![]() |
237回 | 215回 | 19回 | 2011-05-16 23:09:57 |
早速の回答、ありがとう御座います。
CSVに似てますがJSONと言うのですね、なるほど。
通貨名から(VBAで)bid値をカットして取り出せば目的の回答を満たせそうです。
できましたら、もう一つ質問なのですが・・・
データ中の13桁のタイムスタンプから実際の日時・時間を取り出すにはどうすれば良いでしょうか?
ご回答頂ければ幸いです。