Kapittel 3 Case: rydde i månedens salgstabell ・ MISJON 11
Oppdrag 11: Skriv resultatkolonnen på én gang (setValues)
Oppgave
Skriv «Stor» i kategorien for hver rad med et beløp på minst 100 000. I stedet for å skrive rad for rad leser du kolonnen på én gang og skriver den på én gang.
For øvingens skyld går tabellen tilbake til starttilstanden før hver kjøring (et ekte regneark gjør ikke det. Endringer fra et skript kan noen ganger angres med Ctrl+Z, men ikke alle på én gang).
Fil +
Kode.gs
Kapittel 3 ・ MISJON 11
Skriv resultatkolonnen på én gang (setValues)
Skriv «Stor» i kategorien for hver rad med et beløp på minst 100 000. I stedet for å skrive rad for rad leser du kolonnen på én gang og skriver den på én gang.
Lese koden
- sheet.getRange(2, 4, lastRow - 1, 1).getValues();
- Leser lastRow - 1 rader og 1 kolonne (beløpskolonnen) på én gang, fra rad 2, kolonne 4.
- amounts.map((row) => [row[0] >= 100000 ? 'Stor' : '']);
- Lager en matrise med «Stor» for rader på minst 100 000 og tomt ellers. betingelse ? A : B er en måte å skrive if på én linje.
- sheet.getRange(2, 5, labels.length, 1).setValues(labels);
- Skriver labels på én gang i kolonne E, like mange rader som labels har.
Les på én gang med getValues, gjør om rad for rad med map og skriv på én gang med setValues. Det går raskere enn celle for celle; selv tusenvis av rader får deg ikke til å vente. Har området og matrisen ulikt antall rader, vises feilen «The number of rows in the data does not match …».
Hvordan du kommer i gang med GAS og vanlig kode, forklares i en artikkel.Hva er GAS? Komme i gang og vanlig kode
Koden du skriver, kjører på et isolert sted inne på denne siden. Den når ikke ut av siden eller til andre nettsteder.
* Dette er en simulering av hvordan Google Regneark og Apps Script fungerer, og kan delvis avvike fra originalen.
* Google Regneark er et varemerke som tilhører Google LLC. Dette nettstedet har ingen tilknytning til Google.