Luku 3 Tapaustutkimus: kuukauden myyntitaulukon siistiminen ・ MISSIO 11

Tehtävä 11: Kirjoita tulossarake kerralla (setValues)

📋 Tehtävälista

Tehtävänanto

Kirjoita ”Iso” jokaisen vähintään 100 000:n summan rivin luokkaan. Älä kirjoita rivi kerrallaan, vaan lue sarake kerralla ja kirjoita se kerralla.

Lokakuun myynti - Google Sheets
Lokakuun myynti

Harjoitusta varten taulukko palaa alkutilaan ennen jokaista suoritusta (oikea taulukko ei palaa. Skriptin muutokset voi joskus kumota Ctrl+Z:lla, mutta ei kaikkia kerralla).

Apps ScriptNimetön projektiOta käyttöön ▾
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 ? 'Iso' : '']);
sheet.getRange(2, 5, , 1).(labels);
}
Ctrl+S: tallenna · Ctrl+R: suorita (editori) · F5: avaa uudelleen

Luku 3 ・ MISSIO 11

Kirjoita tulossarake kerralla (setValues)

Kirjoita ”Iso” jokaisen vähintään 100 000:n summan rivin luokkaan. Älä kirjoita rivi kerrallaan, vaan lue sarake kerralla ja kirjoita se kerralla.

Nyt
Maali

Koodin lukeminen

sheet.getRange(2, 4, lastRow - 1, 1).getValues();
Lukee kerralla lastRow - 1 riviä ja 1 sarakkeen (summasarakkeen) alkaen riviltä 2, sarakkeesta 4.
amounts.map((row) => [row[0] >= 100000 ? 'Iso' : '']);
Tekee taulukon, jossa vähintään 100 000:n riveillä on ”Iso” ja muilla tyhjä. ehto ? A : B on tapa kirjoittaa if yhdelle riville.
sheet.getRange(2, 5, labels.length, 1).setValues(labels);
Kirjoittaa labelsin kerralla sarakkeeseen E niin monelle riville kuin labelsissa on.

Lue kerralla getValuesilla, muunna rivi kerrallaan mapilla ja kirjoita kerralla setValuesilla. Se on nopeampaa kuin solu kerrallaan; tuhannetkaan rivit eivät pakota odottamaan. Jos alueella ja taulukolla on eri määrä rivejä, tulee virhe ”The number of rows in the data does not match …”.

GAS:n aloittaminen ja yleinen koodi on koottu artikkeliin.Mikä on GAS? Aloittaminen ja yleinen koodi

Kirjoittamasi koodi toimii eristetyssä paikassa tämän sivun sisällä. Se ei ulotu sivun ulkopuolelle eikä muille sivustoille.

* Tämä on simulaatio Google Sheetsin ja Apps Scriptin toiminnasta, ja se voi osin poiketa alkuperäisestä.

* Google Sheets on Google LLC:n tavaramerkki. Tämä sivusto ei liity Googleen.