Kapitola 2 Číst, opakovat, rozlišovat ・ MISE 8

Mise 8: Projít všechny řádky pomocí for (getLastRow)

📋 Seznam misí

Zadání

Zapište částku (jednotková cena × množství) všech položek do sloupce D. Poslední řádek zjistěte přes getLastRow, aby kód fungoval i při jiném počtu položek.

Objednávka kancelářských potřeb - Tabulky Google
Objednávka kancelářských potřeb

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

Apps ScriptProjekt bez názvuNasadit ▾
function writeAmounts() {
const sheet = SpreadsheetApp.getActiveSheet();
const lastRow = sheet.();
for (let row = ; row <= lastRow; row++) {
const price = sheet.getRange(row, 2).getValue();
const quantity = sheet.getRange(row, 3).getValue();
sheet.getRange(row, ).setValue(price * quantity);
}
}
Ctrl+S: uložit · Ctrl+R: spustit (editor) · F5: otevřít znovu

Kapitola 2 ・ MISE 8

Projít všechny řádky pomocí for (getLastRow)

Zapište částku (jednotková cena × množství) všech položek do sloupce D. Poslední řádek zjistěte přes getLastRow, aby kód fungoval i při jiném počtu položek.

Teď
Cíl

Čtení kódu

const lastRow = sheet.getLastRow();
Zjistí číslo posledního řádku s hodnotou.
for (let row = 2; row <= lastRow; row++) {
Opakuje blok v { } a zvyšuje row o 1 od 2 do lastRow.
sheet.getRange(row, 2).getValue();
Přečte řádek row, sloupec 2 (sloupec B).
sheet.getRange(row, 4).setValue(price * quantity);
Zapíše částku do sloupce D řádku row.

for (let row = 2; row <= lastRow; row++) opakuje blok, zatímco row nabývá hodnot 2, 3, 4 … po jedné. row v getRange(row, 4) je číslo řádku. Když poslední řádek zjistíte přes getLastRow(), kód bude fungovat i po přidání položek.

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.