Googleスプレッドシートはダイナミックレンジ(例:A:A)をサポートしていないため、AppScriptを使用してトレンドチャートの範囲を更新できるようにする必要があります。残念ながら、SheetオブジェクトのgetCharts()メソッドは、トレンドチャートのエントリを返しません。スクリプトを介してトレンドチャートにアクセスできますか?次のコードが他の種類のグラフで正常に機能することを確認しました。
function expandCharts() {
var sheet = SpreadsheetApp.getActiveSheet()
var charts = sheet.getCharts();
for (var i in charts) {
var chart = charts[i];
var ranges = chart.getRanges();
var builder = chart.modify();
for (var j in ranges) {
var range = ranges[j];
builder.removeRange(range);
var newRange = expandRange(range, 5);
builder.addRange(newRange);
}
builder.setOption('title', 'Last updated ' + new Date().toString());
sheet.updateChart(builder.build());
}
}
function expandRange(range) {
var s = range.getSheet()
var startCol = range.getColumn();
var lastRow = s.getLastRow();
var startRow = 1;
var numCols = range.getNumColumns();
range = s.getRange(1, startCol, lastRow, numCols);
return range;
}