Kapitola 3 Případová studie: úprava měsíční tabulky prodejů ・ MISE 11
Mise 11: Zapsat sloupec výsledků najednou (setValues)
Zadání
Do kategorie každého řádku s částkou aspoň 100 000 napište „Velká“. Nepište řádek po řádku, ale sloupec najednou přečtěte a najednou zapište.
Kvůli cvičení se tabulka před každým spuštěním vrátí do výchozího stavu (skutečná tabulka se nevrací. Změny skriptu jde někdy vrátit přes Ctrl+Z, ale ne všechny najednou).
Soubor +
Kód.gs
Kapitola 3 ・ MISE 11
Zapsat sloupec výsledků najednou (setValues)
Do kategorie každého řádku s částkou aspoň 100 000 napište „Velká“. Nepište řádek po řádku, ale sloupec najednou přečtěte a najednou zapište.
Čtení kódu
- sheet.getRange(2, 4, lastRow - 1, 1).getValues();
- Přečte najednou lastRow - 1 řádků a 1 sloupec (sloupec částek) od řádku 2, sloupce 4.
- amounts.map((row) => [row[0] >= 100000 ? 'Velká' : '']);
- Vytvoří pole s „Velká“ pro řádky s aspoň 100 000 a prázdné pro ostatní. podmínka ? A : B je způsob, jak zapsat if na jeden řádek.
- sheet.getRange(2, 5, labels.length, 1).setValues(labels);
- Zapíše labels najednou do sloupce E, tolik řádků, kolik jich má labels.
Najednou přečíst přes getValues, řádek po řádku převést přes map a najednou zapsat přes setValues. Je to rychlejší než po buňkách; ani tisíce řádků vás nenechají čekat. Pokud mají oblast a pole různý počet řádků, objeví se chyba „The number of rows in the data does not match …“.
Jak začít s GAS a běžný kód popisujeme v článku.Co je GAS? Jak začít a běžný kód
Kód, který napíšete, běží v izolovaném prostoru uvnitř této stránky. Nedostane se mimo stránku ani na jiné weby.
* Jde o simulaci chování Tabulek Google a Apps Script, která se může v některých bodech lišit od originálu.
* Tabulky Google jsou ochranná známka společnosti Google LLC. Tento web není s Googlem nijak spojen.