У меня есть таблица Google, которую я использую для составления бюджетов, которые обновляются из года в год. Обычно я создаю новую вкладку для каждого года, но функция группировки столбцов означает, что я могу просто скрыть завершенный год, что идеально.
Я также показываю простой график областей, как показано, который может отслеживать мой ожидаемый баланс.
Если я скрою группу, график удалит данные этой группы, что является именно тем, чего я хочу и ожидаю, но затем останется размер графика, который не соответствует.
Очевидно, это не более чем незначительное раздражение, но мне бы хотелось найти способ решить эту проблему, чтобы размер графика настраивался в соответствии с включенными данными. Я не особо разбираюсь в сценариях приложений и тому подобном, но подозреваю, что, вероятно, есть способ сделать это.
Если бы кто-нибудь мог мне помочь, это было бы потрясающе.
Спасибо
Привет @player0. Спасибо за ответ. Я хочу, чтобы ширина графика соответствовала видимым данным. На первом скриншоте я показываю данные за 2 года, и график соответствует. Когда я скрываю данные за один год, размер графика остается прежним, а данные корректируются. Если у меня есть данные за 3,4,5 года, я хочу, чтобы ширина графика менялась, как это происходит в таблице выше.
вы можете попробовать что-то вроде этого:
function adjustChartWidthBasedOnUnhiddenCells() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var row = 1; // Specify the row you want to count unhidden cells in
var startColumn = 1; // Specify the starting column
var endColumn = sheet.getLastColumn(); // Specify the ending column or use getLastColumn() for the last column in the sheet
var unhiddenCount = 0;
for (var col = startColumn; col <= endColumn; col++) {
if (!sheet.isColumnHiddenByUser(col)) {
unhiddenCount++;
}
}
var chart = sheet.getCharts()[0]; // Assuming there's at least one chart on the sheet
var newWidth = unhiddenCount * 50; // Adjust the multiplier as needed for desired width
var newChart = chart.modify()
.setOption('width', newWidth)
.build();
sheet.updateChart(newChart);
}
кратко протестировал его на этой установке:
скрытие группы и запуск скрипта увеличат размер диаграммы:
затем скрытие группы и повторный запуск скрипта уменьшит размер диаграммы...
конечно, потребуются дальнейшие модификации, чтобы точно соответствовать вашим потребностям.
Удивительный! Извините за медленный ответ, только что пришло уведомление по электронной почте. Я попробовал это, и оно делает именно то, что я хочу. Огромное спасибо, что нашли время помочь мне, я это очень ценю!
«но затем получается несоответствующий размер графика», не могли бы вы рассказать об этом подробнее? твои скриншоты выглядят нормально. чего именно вы ожидаете?