Google apps script 可以在谷歌应用程序脚本中使用谷歌电子表格功能吗?

Google apps script 可以在谷歌应用程序脚本中使用谷歌电子表格功能吗?,google-apps-script,google-sheets,google-sheets-formula,google-finance,Google Apps Script,Google Sheets,Google Sheets Formula,Google Finance,我刚刚发现了谷歌应用程序脚本,我已经被一些东西难住了 我正试图为一个谷歌电子表格编写一个脚本,它可以找到特定的历史股价。我发现Google应用程序脚本中的FinanceApp服务已经被弃用,似乎被Google电子表格中的GOOGLEFINANCE()函数所取代。然而,当我只需要一个单元格时,它会返回一个数组,而这个数组正在破坏工作 所以我想写一个简短的脚本来调用GOOGLEFINANCE()电子表格函数,并从GOOGLEFINANCE()返回的数组中找到我需要的1条信息。但是,我无法在脚本中找到

我刚刚发现了谷歌应用程序脚本,我已经被一些东西难住了

我正试图为一个谷歌电子表格编写一个脚本,它可以找到特定的历史股价。我发现Google应用程序脚本中的FinanceApp服务已经被弃用,似乎被Google电子表格中的GOOGLEFINANCE()函数所取代。然而,当我只需要一个单元格时,它会返回一个数组,而这个数组正在破坏工作

所以我想写一个简短的脚本来调用GOOGLEFINANCE()电子表格函数,并从GOOGLEFINANCE()返回的数组中找到我需要的1条信息。但是,我无法在脚本中找到访问电子表格函数(SUM、VLOOKUP、GOOGLEFINANCE等)的方法

有没有办法在脚本中访问这些函数?或者,是否有一种新的服务可以取代不推荐的FinanceApp服务


非常感谢您的帮助

本机电子表格功能在Google Apps脚本中不受支持


您最终可能会使用一种有点麻烦的解决方法,即读取您在其中编写公式的单元格的值(在写入和读取中使用脚本),但这将不太实用和/或快速。

有一种可能的方法,使用.setFormula()。此函数的行为类似于.setValue(),可按以下方式使用:

var ss = SpreadsheetApp.getActiveSpreadsheet();
var mySheet = ss.getSheets()[0]

//Code Below selects the first cell in range column A and B
var thisCell = mySheet.getRange('A:B').getCell(1,1); 

thisCell.setFormula('=SUM(A2:A4)');
在此函数中编写的所有公式都被视为.setFormula()输入中必须包含“或”的字符串。

您可以尝试以下方法:

var trick = SpreadsheetApp.getActiveSheet().getRange('D2').setValue('=GOOGLEFINANCE("GOOG")').getValue();

您可以尝试将索引功能与GOOGLEFINANCE结合使用-

作为参考

=谷歌金融(“MSFT”、“价格”、“01/01/21”)

返回数组:

    Date    Close
    1/4/2021    217.69
可以添加索引函数,使用数组的行、列坐标从数组中选择特定元素

=指数(谷歌金融(“MSFT”,“价格”,“01/01/21”),2,2)


这只返回第2行第2列中的数据-217.69

否。您必须重新创建这些数据。如果您能在回答中提供一些解释,它的可能副本将非常有用。