スポンサーリンク
以下の記事で紹介したことを具体的にどのように行うのか、一例としてその手法を紹介します。
以下の記事の方法では、1シート1銘柄になってしまうため、一覧で取得できるようにします。また、この一覧作成ではGASは利用せずにGoogleスプレッドシート関数で実現します。
完成イメージ
あらかじめ指定しておいた銘柄のどれか1つでも、条件に達していれば、以下のようなメールを受信できるようになります。
件名:メール件名(投資関係)(2023/08/27 09:00:)
本文:
【1,VYM,-3.60,-99,-5】
【2,HDV,-2.02,-99,-5】
【3,SPYD,-5.69,-99,-5】
【4,VTI,-4.27,-99,-5】
準備
1.以下の記事を確認して、管理表シートを作成する
以下の記事でスプレッドシートで行う手法を紹介しました。今回は以下の記事との関連技となります。
2.以下の設定シートを用意する

上図と同じセル番号のところに項目名を設定する。以下は登場する項目名です。
・No、銘柄、騰落率、アラート下限、アラート上限
・項目対象(行)、項目対象(列)、項目対象(行列)
3.項目の値のセルに計算式を設定する

・No:1
・銘柄:VYM
・騰落率:=INDIRECT(+I2)
・アラート下限:-99
・アラート上限:-5
・項目対象(行):=MATCH($B2,'管理表'!$C$1:$C$14,0)
・項目対象(列):=MATCH($C$1,'管理表'!$A$4:$L$4,0)
・項目対象(行列):=ADDRESS(G2, H2, 4, TRUE, "管理表")
4.以下の記事を確認する
5.上記記事内のソースコードを準備して、以下のところを変更する
〇変更箇所1:notificationExchange関数
記事No107
let targetArray = [];
targetArray.push(getTargetPrice('USD / JPY'));
// targetArray.push(getTargetPrice('EUR / JPY'));
// targetArray.push(getTargetPrice('AUD / JPY'));
の部分を以下に変更する
記事No114(本記事)
let targetArray = [];
targetArray.push(getTargetPrice('VYM'));
targetArray.push(getTargetPrice('HDV'));
targetArray.push(getTargetPrice('SPYD'));
targetArray.push(getTargetPrice('VTI'));
〇変更箇所2:notificationExchange関数
記事No107
let targetPrice = targetArray[a][list[0].indexOf('レート(円)')];
の部分を以下に変更する
記事No114(本記事)
let targetPrice = targetArray[a][list[0].indexOf('騰落率')];
〇変更箇所3:getTargetPrice関数
記事No107
let lastRow = settingSheet.getLastRow();// 最終行を取得
let lastCol = settingSheet.getLastColumn();// 最終列を取得
の部分を以下に変更する
記事No114(本記事)
let lastRow = settingSheet.getLastRow();// 最終行を取得
// let lastCol = settingSheet.getLastColumn();// 最終列を取得
let lastCol = 5;// 最終列を取得
〇変更箇所4:getTargetPrice関数
記事No107
let targetCol = list[0].indexOf('外国為替');
の部分を以下に変更する
記事No114(本記事)
let targetCol = list[0].indexOf('銘柄');
console.log("list[0]:",list[0]);
6.以下の記事を確認する。そして参考にしながらこの記事用に設定する
7.動作確認する
動作を確認する
参考サイト/関連サイト
-最後までお付き合いいただきありがとうございます!
この情報が誰かの役にたてれば幸いです。
