K dosažení tohoto cíle, můžete použít Google Apps Script. Pomocí spouštěč, který se aktivuje pokud je dokument upravovat onEdit()
a odráží nový obsah do grafu pomocí třídy EmbeddedChart
.
Příklad
Za předpokladu, že tabulka vypadá nějak takhle (příklad by měl fungovat s jiným formátem):
Jméno |
Opatření 1 |
Opatření 2 |
Marshall |
1 |
2 |
Barney |
2 |
3 |
Ted |
3 |
4 |
To bude generovat graf, jako je tento:
- Nejprve musíte otevřít přidat nový skript přes
Tools>Script Editor
- Uvnitř
Code.gs
souboru přidejte následující:
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)
}
Výše uvedený skript spustí pokaždé, když upravujete listu, kde je v ceně. Získat aktualizovaná data z tabulky, a zahrnout do grafu. Teď skript detekuje jakékoli změny v tabulce a přidá od první buňky k poslednímu grafu.
Poznámka: onEdit
je příliš široká, můžete jej ovládat pomocí různých metod, například:
if(e.range.getRow()>20) return
Například, přidání této nové údaje:
Jméno |
Opatření 1 |
Opatření 2 |
Opatření 3 |
Marshall |
1 |
2 |
3 |
Barney |
2 |
2 |
4 |
Ted |
3 |
4 |
5 |
Lily |
5 |
6 |
5 |
To bude automaticky generovat tento graf:
Pokud si myslíte, že by to mělo být zahrnuto v Listech, můžete také poslat zpětnou vazbu na Google pomocí Help>Help Sheets Improve
nebo přes odkaz.
Dokumentace