Для этого вы можете использовать скрипт Google Apps. Использование триггера, срабатывающего при редактировании документаonEdit()
и отражение нового содержимого в диаграмме с помощью классаEmbeddedChart
.
Пример
Предполагая, что таблица выглядит примерно так (пример должен работать с другим форматом):
Имя |
Мера 1 |
Мера 2 |
Маршалл |
1 |
2 |
Барни |
2 |
3 |
Раскидывать |
3 |
4 |
Он создаст диаграмму, подобную этой:
- Сначала вам нужно открыть добавить новый скрипт с помощью
Tools>Script Editor
- Внутри
Code.gs
файл, добавьте следующее:
Code.gs
const onEdit = (event) => {
// Get the active SpreadSheet
let ss = SpreadsheetApp.getActiveSheet()
// If you want to limitate the range within
// you should use the range within the Event Objects
Logger.log(event.range)
let chart = ss.getCharts()[0]
// Get to A1 to the last available cell
let newRanges = ss.getRange(1, 1, ss.getLastRow(), ss.getLastColumn())
chart = chart.modify()
// Clear the old ones
.clearRanges()
// Add the updated values
.addRange(newRanges)
.build()
ss.updateChart(chart)
}
Приведенный выше сценарий запускается каждый раз, когда вы редактируете лист, в который он включен. Получите обновленные данные из электронной таблицы и включите их в диаграмму. Прямо сейчас скрипт обнаруживает любые изменения в электронной таблице и добавляет на диаграмму от первой ячейки до последней.
Примечание: onEdit
является слишком широким, вы можете управлять им с помощью различных методов, например:
if(e.range.getRow()>20) return
Например, добавление этих новых данных:
Имя |
Мера 1 |
Мера 2 |
Мера 3 |
Маршалл |
1 |
2 |
3 |
Барни |
2 |
2 |
4 |
Раскидывать |
3 |
4 |
5 |
Лилия |
5 |
6 |
5 |
Он автоматически сгенерирует эту диаграмму:
Если вы считаете, что это следует включить в таблицы, вы также можете отправить отзыв в Google с помощью Help>Help Sheets Improve
или по ссылке.
Документация