注目の投稿

今まで作成したエクセルツールまとめ

ラベル Google スプレッドシート の投稿を表示しています。 すべての投稿を表示
ラベル Google スプレッドシート の投稿を表示しています。 すべての投稿を表示

2018/03/28

bitFlyer Lightning APIのTickerをGoogleスプレッドシートに書き込む

 bitflyer lightning APIを利用してJSON形式データをGoogleスプレッドシートに読み込む方法をお伝えします。
GAS(Google Apps Script)のプログラミングをします。

前回Tickerのltp(最終取引価格)だけを読み込みました。
今回は公開されているbitFlyer Lightning HTTP APIのTicker12項目全てを読み込んでみます。


URLはこちらを使用します。
https://api.bitflyer.jp/v1/getticker


読み込んだJSONはこちらです。
{best_bid_size=0.1, volume=261379.28246655, best_bid=844125, volume_by_product=24020.58091085, tick_id=1388100, ltp=845096, best_ask=845092, product_code=BTC_JPY, total_ask_depth=4023.40140962, total_bid_depth=2887.76697863, timestamp=2018-03-27T09:19:43.437, best_ask_size=0.0196475}


Googleスプレッドシートのスクリプトエディタ画面にします。(過去記事参照)


下記GASコードを貼り付けます。


function myFunction(){
  var ss = SpreadsheetApp.getActiveSpreadsheet();

  var response = UrlFetchApp.fetch("https://api.bitflyer.jp/v1/getticker");

  // APIの結果をパース
  var bitflyer = JSON.parse(response);


  var i = 1;
  for (var key in bitflyer){
    ss.getRange('A' + i).setValue(key);
    ss.getRange('B' + i).setValue(bitflyer[key]);
    i++;
  }
}


for文の箇所ですが、keyという変数でキーをA列に入力しています。
次の行でkeyを指定してB列に値を入力しています。


・実行結果



これでOKです。



GoogleスプレッドシートにビットフライヤーAPIのJSONデータを読み込む

バイナンスの24時間ticker価格を取得するエクセルマクロツール Excel VBA

Cryptocurrency Market Capitalizations版Excelマクロツール



bitFlyer ビットコインを始めるなら安心・安全な取引所で

2018/03/27

Googleスプレッドシート SpreadSheetクラスとSheetクラス

今回はGoogleスプレッドシートのSpreadSheetクラスとSheetクラスについてお伝えします。


・Spreadsheetサービスの各クラス
SpreadsheetApp→SpreadSheet→Sheet→Rangeオブジェクトの階層構造になっています。

Excel VBAで例えると、
Application→Workbook→Worksheet→Rangeオブジェクトと同じようなものです。

SpreadsheetAppはグローバルオブジェクトです。

SpreadSheetはシートファイル全体、エクセルでいうところのブックです。

Sheetはシートファイル内の各シートです。

Rangeはセル範囲を示します。



ややこしいこもしれませんが、SpreadSheetクラスとSheetクラスがあり、SpreadSheetクラスがシートファイル全体、Sheetクラスがシートファイルの各シートを指します。


・GASでのActiveなシートの取得方法

SpreadSheetクラス
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();

Sheetクラス
var sheet = SpreadsheetApp.getActiveSheet();



Logger.log()とは  Googleスプレッドシート GAS

Logger.log()とは、ログ出力をするための命令です。


Googleスプレッドシートのスクリプトエディタで、Logger.log() を実行すると、スクリプトの動作を確認するためのログを出力することができます。

スクリプトエディタの表示→ログで出力されたログを確認できます。
ショートカットはCtrl + Enterです。


例えば下記のように使います。ActiveSpreadsheetをssに格納しているところです。
 var ss = SpreadsheetApp.getActiveSpreadsheet();

Logger.log(ss)


・実行後、表示→ログで下のようなウインドウが出てきます。

GoogleスプレッドシートにビットフライヤーAPIのJSONデータを読み込む

Googleスプレッドシートに bitflyer lightning APIを利用してJSON形式データを読み込む方法をお伝えします。
GAS(Google Apps Script)のプログラミングをします。

今回は公開されているTickerのltp(最終取引価格)を読み込んでみます。


URLはこちらを使用します。
https://api.bitflyer.jp/v1/getticker

読み込んだJSONはこちらです。
{best_bid_size=0.0193525, volume=207660.65730267, best_bid=856563, volume_by_product=17788.78434731, tick_id=5212511, ltp=856956, best_ask=856956, product_code=BTC_JPY, total_ask_depth=3978.96390532, total_bid_depth=2757.92823828, timestamp=2018-03-26T15:13:59.567, best_ask_size=0.0573175}



まずGoogleスプレッドシートのスクリプトエディタ画面にします。(過去記事参照)

下記GASコードを貼り付けます。


function myFunction(){
   var ss = SpreadsheetApp.getActiveSpreadsheet();

  //読み込み
   var response = UrlFetchApp.fetch("https://api.bitflyer.jp/v1/getticker");

  // APIの結果をパース
   var bitflyer = JSON.parse(response)["ltp"];

  // シートに入力
   ss.getRange("A1").setValue(bitflyer);
}




赤字のパースの箇所ですが、ltpというキーを[]で指定することで856956という値を取り出しています。
JSON.parse(response)だけだと先程挙げた長いJSONが取り出されます。

調べたところ、Utilities.jsonParse()でもパースできますが、JSON.parse() を使ったほうが良さそうです。

・実行結果


続きはこちら
bitFlyer Lightning APIのTickerをGoogleスプレッドシートに書き込む


CSVファイルの読み込み Google スプレッドシート


バイナンスの24時間ticker価格を取得するエクセルマクロツール Excel VBA

Cryptocurrency Market Capitalizations版Excelマクロツール




bitFlyer ビットコインを始めるなら安心・安全な取引所で

2017/08/22

メッセージボックスを表示する GAS Google スプレッドシート

Google スプレッドシートでGAS(Google Apps Script)を使用してメッセージボックスを表示する方法をお伝えします。
まず私の個人的なことですが、仕事でExcel VBAの経験があるのでプログラミング自体には抵抗はありません。しかし、Javascriptは初めてのため「また1から覚えるのか・・」と思うと面倒臭さを感じたり、少し壁を感じてしまいます。しかし、プログラミングの楽しい要素は絶対にあるはずなのでポジティブな気持ちで始めていきたいと思います。

・メッセージボックス表示

function myFunction(){
    Browser.msgBox("Hello!")
}


まずは、メニューのツールからスクリプトエディタをクリックします。

エディタの画面が開きます。
function myFunction(){
 
}
と書かれているので{ }の中に

Browser.msgBox("Hello!")

と書き込みます。この時大文字小文字の区別がされるので間違えないように気を付けてください。
Hello!の部分は何を書いてもOKです。


実行します。

▶か実行メニューをクリックすることで実行します。すると実行中になりますので、スプレッドシートの画面でメッセージボックスが出ていることを確認します。OKをクリックするとメッセージボックスが消えます。

これでOKです!





2017/08/20

CSVファイルの読み込み Google スプレッドシート

Google スプレッドシートでのCSVファイルの読み込みの仕方をお伝えします。

Google スプレッドシートのメニューバーのファイルをクリックします。
そして開くをクリックします。


ローカルから読み込む場合は、アップロードを選択して、ドラッグするか「パソコンからファイルを選択」ボタンを押してCSVファイルを選択します。


CSVファイルが読み込まれます。


今回のCSVファイルはカンマ区切りのデータでした。自動でセルを分けて表示してくれます。
測定データのようなカンマ区切りのCSVファイルが開けますので試してみてください。




2017/08/15

米国株価・スパークラインの表示 Google スプレッドシート

Google スプレッドシートで米国株価とスパークラインを表示する便利な方法がありますので紹介したいと思います。GoogleFinance関数で米国株情報を表示することができます。


=GoogleFinance("AMZN","price")


この関数をセルに入力するとアマゾンの株価が表示されます。




=GoogleFinance("AMZN","pe")

この関数をセルに入力するとアマゾンの株価収益率(PER)が表示されます。






=SPARKLINE(GoogleFinance("AMZN","price", TODAY()-30, TODAY()))

この関数をセルに入力するとアマゾンの過去30日のスパークラインが表示されます。






TODAY()-30, TODAY()のところの-30とは過去30日のことであり、過去30日から今日までの株価を表示するという意味になります。-90にすると過去90日から今日まで表示されます。
スパークラインを大きく表示したい場合はセルの幅を広げたり、セルを結合すれば大きくなります。


AMZN, PG, MCOとPrice, PER, Chartはセルに直接入力しました。








2017/08/14

最大値、最小値、中央値、平均値の関数 Google スプレッドシート

使う頻度の高い最大値、最小値、中央値、平均値の関数をお伝えします。

最大値

=MAX(値1, 値2)




=MAX(1,2,3,5)
=MAX(A1:A3,5)

最大値を出します。
値1に1つまたは複数の数値を入れるか、セル範囲を入れる。値2はなくてもOKです。

最小値

=MIN(値1, 値2)




=MIN(1,2,3,5)
=MIN(A1:A3,5)

最小値を出します。
値1に1つまたは複数の数値を入れるか、セル範囲を入れる。値2はなくてもOKです。MAX関数と同じですね。

中央値

=MEDIAN(値1, 値2)




=MEDIAN(1,2,3,5)
=MEDIAN(A1:A3,5)

中央値を出します。()内に偶数個の値を入れると2つの中央値の平均値を出します。
値1に1つまたは複数の数値を入れるか、セル範囲を入れる。値2はなくてもOKです。これも同じですね。

平均値

=AVERAGE(値1, 値2)




=AVERAGE(1,2,3,5)
=AVERAGE(A1:A3,5)

平均値を出します。
値1に1つまたは複数の数値を入れるか、セル範囲を入れる。値2はなくてもOKです。これも同じですね。







2017/08/13

google finance関数とスパークラインで為替レートを表示する Google スプレッドシート

Google スプレッドシートで為替を表示する便利な方法がありますので紹介したいと思います。


=GoogleFinance("currency:USDJPY","average")


この関数をセルに入力すると米ドル/円の為替レートが表示されます。





=GoogleFinance("currency:JPYUSD","average")

USDとJPYを入れ替えると/米ドルの為替レートが表示されます。





=GoogleFinance("currency:EURJPY","average")


この関数をセルに入力するとユーロ/円の為替レートが表示されます。





=SPARKLINE(GoogleFinance("CURRENCY:"&"USDJPY", "price", TODAY()-30, TODAY()))


この関数をセルに入力すると米ドル/円の為替レートがスパークラインで表示されます。

TODAY()-30, TODAY()のところの-30とは過去30日のことであり、過去30日から今日までの為替レートを表示するという意味になります。-90にすると過去90日から今日まで表示されます。
スパークラインを大きく表示したい場合はセルの幅を広げたり、セルを結合すれば大きくなります。










2017/08/12

グラフの作成とデータ範囲選択のショートカット Google スプレッドシート

Google スプレッドシートを使い始めてまだ間もないこともあり、簡単な操作がわからなくて止まってしまうことが多くて困ってしまいます。今回はグラフの作成の仕方とグラフのデータ範囲を選択する時のショートカットをお伝えします。

①まずグラフの参照データとなる値をセルに入れておきます。表を先に作成しておきます。

②次に参照データとなる範囲の一番左上のセルを選択します。(下の表はamazonの株価の推移です。)



③次にctrl+shift+→を押して参照する列を選択します。(セルを一つずつ移動したい場合はshift+→でOKです。)

④次にctrl+shift+↓を押して参照する行を選択します。(これもセルを一つずつ移動したい場合はshift+↓でOKです。)
これで範囲を指定できました。

⑤次に上のほうにあるメニューの中の挿入をクリックしてグラフを選択します。するとグラフが出てきます。



*グラフを挿入した後にデータ範囲を変更したい場合
①グラフを選択
②右クリック→データ範囲を選択
③グラフエディタ データタブのデータ範囲の右のアイコンをクリック


④参照するデータのセル範囲の選択→OKクリック

参照範囲が広いとドラッグするのに時間がかかって大変ですが、ctrl+shift+矢印を使うと一発で移動して選択できて便利です!




ショートカットは下記サポートページが参考になりますよ。

Google スプレッドシートのキーボード ショートカット