使用谷歌脚本和查询功能构建谷歌图表

Mar*_*os_ 12 google-sheets google-apps-script google-spreadsheet-api

从电子表格和使用谷歌脚本,

我正在尝试使用'query'函数从具有条件(where)的特定工作表中选择一系列数据.但是我不希望使用新的选定数据范围重新生成另一个工作表.

接下来我想在同一个电子表格中构建/更新另一个工作表中的图表.

我没有办法做到这一点.

谢谢

小智 2

我编写了示例代码来完成您的请求。此代码使用嵌入图表类从使用公式创建的表格创建图表QUERY。此代码将首先设置公式,然后检测结果表的范围,然后使用该范围在同一电子表格中的另一张工作表上创建图表。

我使用了一个包含两列的示例表,从中搜索了第二列中值大于 499 的列。这是代码:

function buildChart() {
  var dataSheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
  var graphSheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[1];
  var searchTable = dataSheet.getRange('D1').setFormula(
    '=QUERY(A1:B100,"SELECT A, B WHERE B > 499",1)');
  var searchTableRows = dataSheet.getRange('D1').getDataRegion(SpreadsheetApp
    .Dimension.ROWS);
  var searchTableRange = searchTableRows.getDataRegion(SpreadsheetApp.Dimension
    .COLUMNS);
  var chartBuilder = dataSheet.newChart();

  chartBuilder.addRange(searchTableRange).setChartType(Charts.ChartType.LINE)
    .setOption('title', "MarcoBros_'s Chart").setPosition(1, 1, 0, 0);
  graphSheet.insertChart(chartBuilder.build());
}
Run Code Online (Sandbox Code Playgroud)

由于这只是一个示例,因此您必须对其进行一些修改以使其适应您的项目。如果您需要帮助或者对代码有任何疑问,请告诉我。