为什么我的 GOOGLEFINANCE 公式的结果总是一样的?
Why is the result of my GOOGLEFINANCE formula always the same?
我用 Apps Script 为我的 Google Sheet 编写了一个脚本,以便记录给定时间的股票价格。该脚本由时间驱动的触发器每小时执行一次。
function logStockPrices() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var writeSheet = ss.getSheetByName('Stock History');
var timestamp = Utilities.formatDate(new Date(), "GMT+1", "dd.MM.yyyy hh:mm:ss");
writeSheet.appendRow([timestamp, '=googlefinance("NASDAQ:AAPL")', '=googlefinance("NYSE:SPCE")', '=googlefinance("FRA:D7G")', '=googlefinance("FRA:11L1")', '=googlefinance("FRA:LHA")', '=googlefinance("FRA:AIR")', '=googlefinance("FRA:10E")']);
}
但记录的价格始终相同,即使价格在变化。
但是时间戳是正确的。
这是电子表格的 link:https://docs.google.com/spreadsheets/d/11empPIZzVOc1tc7toTU6YVbeygVfaR_izW60QNYTjwI/edit?usp=sharing
感谢任何提示和评论。
从您的 sheet 我可以看到每一列的价格都是正确的,但最后一次价格发生了变化。因此,如果昨天是 2 欧元,今天是 4 欧元,那么所有列都是 4 欧元。
我建议您获取另一个单元格的当前值,然后复制该值,而不是公式,并将复制的值附加到最后一行。
要从单元格中获取值,您可以使用 getRange(a1Notation) and then getting the result with getValue() 获取单元格。
为您要跟踪的每个财务执行此操作,然后将创建一个包含所有更改的日志。
我用 Apps Script 为我的 Google Sheet 编写了一个脚本,以便记录给定时间的股票价格。该脚本由时间驱动的触发器每小时执行一次。
function logStockPrices() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var writeSheet = ss.getSheetByName('Stock History');
var timestamp = Utilities.formatDate(new Date(), "GMT+1", "dd.MM.yyyy hh:mm:ss");
writeSheet.appendRow([timestamp, '=googlefinance("NASDAQ:AAPL")', '=googlefinance("NYSE:SPCE")', '=googlefinance("FRA:D7G")', '=googlefinance("FRA:11L1")', '=googlefinance("FRA:LHA")', '=googlefinance("FRA:AIR")', '=googlefinance("FRA:10E")']);
}
但记录的价格始终相同,即使价格在变化。 但是时间戳是正确的。
这是电子表格的 link:https://docs.google.com/spreadsheets/d/11empPIZzVOc1tc7toTU6YVbeygVfaR_izW60QNYTjwI/edit?usp=sharing
感谢任何提示和评论。
从您的 sheet 我可以看到每一列的价格都是正确的,但最后一次价格发生了变化。因此,如果昨天是 2 欧元,今天是 4 欧元,那么所有列都是 4 欧元。
我建议您获取另一个单元格的当前值,然后复制该值,而不是公式,并将复制的值附加到最后一行。
要从单元格中获取值,您可以使用 getRange(a1Notation) and then getting the result with getValue() 获取单元格。
为您要跟踪的每个财务执行此操作,然后将创建一个包含所有更改的日志。