从电子表格中使用谷歌脚本,
我试图通过使用'查询'来尝试从具有条件(在哪里)的特定工作表中选择一系列数据。功能。但我不想用新的选定数据范围重新生成另一张表。
接下来,我想在同一个电子表格中构建/更新另一个工作表中的图表。
我找不到办法。
谢谢
答案 0 :(得分:1)
我写了一个示例代码来完成您的请求。这段代码使用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());
}
由于这只是一个示例,您将不得不对其进行一些修改以使其适应您的项目。请让我知道,如果您需要帮助,或者对代码有任何疑问。