Kapittel 3 Case: rydde i månedens salgstabell ・ MISJON 11

Oppdrag 11: Skriv resultatkolonnen på én gang (setValues)

📋 Oppdragsliste

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.

Salg oktober - Google Regneark
Salg oktober

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).

Apps ScriptProsjekt uten navnDistribuer ▾
function markLarge() {
const sheet = SpreadsheetApp.getActiveSheet();
const lastRow = sheet.getLastRow();
const amounts = sheet.getRange(2, 4, lastRow - 1, 1).getValues();
const labels = amounts.map((row) => [row[0] >= 100000 ? 'Stor' : '']);
sheet.getRange(2, 5, , 1).(labels);
}
Ctrl+S: lagre · Ctrl+R: kjør (redigeringsprogram) · F5: åpne på nytt

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.

Nå
Mål

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.