Google apps script 谷歌金融作为ArrayFormula的论据
我试图让第1行(我的标题行)有一个名字,然后在下面,如果一个有效的股票代码是B列中的输入,让google finance获取该股票的价格。然而,我在“股价”下面的所有单元格中都得到了N/A,我不知道为什么 请帮忙 编辑:链接到图纸:Google apps script 谷歌金融作为ArrayFormula的论据,google-apps-script,google-sheets,google-sheets-formula,array-formulas,google-finance,Google Apps Script,Google Sheets,Google Sheets Formula,Array Formulas,Google Finance,我试图让第1行(我的标题行)有一个名字,然后在下面,如果一个有效的股票代码是B列中的输入,让google finance获取该股票的价格。然而,我在“股价”下面的所有单元格中都得到了N/A,我不知道为什么 请帮忙 编辑:链接到图纸: 谷歌金融已经是一个公式了,所以这不会像你预期的那样起作用 您将需要使用以下脚本: =ARRAYFORMULA(IF(ROW(B:B)=1, "Share Price", IF(ISBLANK(B:B), "", googlefinance(B:B, "price")
谷歌金融
已经是一个公式了,所以这不会像你预期的那样起作用
您将需要使用以下脚本:
=ARRAYFORMULA(IF(ROW(B:B)=1, "Share Price", IF(ISBLANK(B:B), "", googlefinance(B:B, "price"))))
其中C1需要:
function onOpen(e){this.arrayThis("C1:C");} //COLUMN WHERE YOU WANT TO HAVE THE RESULT
function arrayThis(range){
SpreadsheetApp.getActiveSpreadsheet().getRange(range).setValue(SpreadsheetApp.getActiveSpreadsheet().getRange(range).getCell(1,1).getFormula());
}
共享您的sheet@player0我编辑了原始帖子,加入了一个链接。我很感激你的回答,因为这正是我想要的。然而,有一个主要的功能仍然不起作用。如果我在任意点添加新行并用新的代码填充它,即使在重新运行脚本之后,工作表也不会更新信息。这就像脚本不知道添加了新列一样。是否尝试将onOpen更改为OneEdit?我尝试过,但仍然不起作用。当我添加一个新列时,公式不会填充到其中。嗨@Warstolrem!我尝试过@player0解决方案,它确实对我有效。此外,我尝试在
Ticker
和股价
之间以及公司名称
和Ticker
之间添加一列,等式仍然执行(事实上,公式的引用从C1
更改为E1
)。你能分享你的问题的截图吗?或者让我知道我是否和你做了同样的步骤?另外,在运行函数之前,您是否已将=IF(行(B1)=1,“股价”,IF(B1=“”,GOOGLEFINANCE(B1,“价格”))
添加到C1
?谢谢我希望这能更好地显示问题,TSLA的行是在原始程序运行后创建的,但是,已经进行了大量编辑,并且没有填充工作表。我也尝试过使用onOpen并重新打开页面,但没有成功:
=IF(ROW(B1)=1, "Share Price", IF(B1="",,GOOGLEFINANCE(B1, "price")))