问题描述
我正在创建一个谷歌表格股票跟踪器,我遇到的问题是我创建了一个命令,根据今天的股价上涨或下跌来更改具有股价的单元格的颜色。
例如,如果亚马逊股票周一上涨使单元格变为绿色,如果周一亚马逊股票下跌使单元格变为红色。 我希望单元格变为绿色或不变为红色该单元格内的数字。
我使用 =GOOGLEFINANCE('Ticker';"price") 作为自定义单元格。
有人可以帮我吗?
解决方法
您可以使用 Apps 脚本的基于时间的触发器。
因此,根据您希望从自定义单元格中检查值的频率,您可以创建一个基于时间的触发器,例如每天早上 8 点运行。然后,在检查从 GOOGLEFINANCE
函数检索到的值后,您可以相应地为单元格着色。
代码
function checkValue() {
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange('A1');
var gfval = range.getValue();
if (gfval < VALUE)
range.setBackground('RED');
else
range.setBackground('GREEN');
}
function createTrigger() {
ScriptApp.newTrigger('checkValue')
.timeBased()
.atHour(8)
.everyDays(1)
.create();
}
上面的脚本由两个函数组成:
-
checkValue
用于检查GOOGLEFINANCE
函数返回的值,并根据它对单元格进行相应的着色; -
createTrigge
用于创建每天早上 8 点运行的基于时间的触发器;