Создайте диаграмму Google с помощью функции google и функции запроса

Из таблицы и с помощью скрипта google,

Я пытаюсь выбрать диапазон данных из определенного листа с условиями (где), используя функцию "запрос". Но я не хочу регенерировать другой лист с новым диапазоном выбранных данных.

Затем, после того, как я хотел бы построить/обновить диаграмму на другом листе из той же таблицы.

Я не нашел способ сделать это.

спасибо

Ответ 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_ Chart").setPosition(1, 1, 0, 0);
  graphSheet.insertChart(chartBuilder.build());
}

Поскольку это всего лишь пример, вам придется немного его изменить, чтобы адаптировать к своему проекту. Пожалуйста, дайте мне знать, если вам нужна помощь с этим или у вас есть какие-либо сомнения по поводу кода.