通过使用Google脚本和查询功能构建Google图表

问题描述 投票:11回答:1

通过电子表格并使用Google脚本,

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

我要在同一电子表格的另一个工作表中构建/更新图表之后,下一步。

我没有找到一种方法。

谢谢

google-apps-script google-sheets google-spreadsheet-api
1个回答
0
投票

我写了一个示例代码来完成您的请求。此代码使用Embedded Chart类从使用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());
}

由于这只是一个示例,您将不得不对其进行一些修改以使其适应您的项目。请让我知道,如果您需要帮助,或者对代码有任何疑问。

© www.soinside.com 2019 - 2024. All rights reserved.