如何将单元格值或函数传递给谷歌电子表格中 QUERY 命令的数据

时间:2021-04-07 00:42:05

标签: google-apps-script google-sheets

如何将特定单元格值或自定义函数的输出(返回字符串)作为“数据”传递给 QUERY 命令?

例如,不要在以下命令中写入 A2:E6:

QUERY(A2:E6,"select avg(A) pivot B")

我想做这样的事情:

QUERY(A1,"select avg(A) pivot B")

其中 A1 是对包含 A2:E6 作为值的单元格 A1 的引用。

出于某种原因,QUERY 命令不喜欢那里的 A1。但是当你用实际的字符串值替换 A1 时,一切正常。

2 个答案:

答案 0 :(得分:0)

像这样:

function loadFormula() {
  const ss=SpreadsheetApp.getActive();
  const sh=ss.getSheetByName('Sheet1');//you may need to change sheet name
  const rg=sh.getRange('A1');
  const s = rg.getDisplayValue();//I used this method because it returns a strong
  const fs= '=QUERY(' + s + ',\"select avg(A) pivot B\")';
  sh.getRange(?).setFormula(fs);
}

答案 1 :(得分:0)

您可以使用INDIRECT函数

=QUERY(INDIRECT(A1), "select avg(A) pivot B")

这正是这种用例。

甚至还有一个从单元格地址到字符串的另一种方式,ADDRESS