在自定义函数中使用内置函数

时间:2019-10-17 14:10:19

标签: google-apps-script web-scraping google-sheets google-sheets-formula

我为带有Google工作表的页面上的值。

当前,我正在使用=IMPORTHTML($A$1; "table" ; 2),但是我想遍历索引中的自定义函数。

我如何在自定义函数/脚本编辑器中调用IMPORTHTML函数才能通过所有索引运行?

var current =IMPORTHTML(URL;  "table" ; i)

结果

  

ReferenceError:“ IMPORTHTML”

2 个答案:

答案 0 :(得分:0)

可能不是您期望的答案,但是:

=IFERROR(IFERROR(IFERROR(
 IMPORTHTML(A1; "table" ; 2); 
 IMPORTHTML(A1; "table" ; 3)); 
 IMPORTHTML(A1; "table" ; 4));
 IMPORTHTML(A1; "table" ; 5))

等...

或在数组中

={IMPORTHTML(A1; "table" ; 2);
  IMPORTHTML(A1; "table" ; 3);
  IMPORTHTML(A1; "table" ; 4);
  IMPORTHTML(A1; "table" ; 5))}

等...

答案 1 :(得分:0)

目前,不支持从Google Apps脚本调用Sheets本机函数。

但是,您有以下选择:

  1. 使用setFormula()。您可以使用以下代码来将公式设置为表格并将结果从表格中提取回脚本中。
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var cell = sheet.getRange("A20");

var formula = Utilities.formatString('=IMPORTHTML("%s", "%s", "%s")', URL, "table", i);
cell.setFormula(formula);
var value = cell.getValue();
  1. 使用URL Fetch Service。您将必须实现代码以提取所需的信息(可以使用RegExXML Service)。这将需要更多的努力。