Rozdział 3 Studium przypadku: porządkowanie miesięcznej tabeli sprzedaży ・ MISJA 11
Misja 11: Zapisz kolumnę wyniku naraz (setValues)
Zadanie
Wpisz „Duże” w kategorii każdego wiersza z kwotą co najmniej 100 000. Zamiast pisać wiersz po wierszu, odczytaj kolumnę naraz i zapisz ją naraz.
Na potrzeby ćwiczenia tabela przed każdym uruchomieniem wraca do stanu początkowego (prawdziwy arkusz nie wraca. Zmiany skryptu czasem da się cofnąć przez Ctrl+Z, ale nie wszystkie naraz).
Plik +
Kod.gs
Rozdział 3 ・ MISJA 11
Zapisz kolumnę wyniku naraz (setValues)
Wpisz „Duże” w kategorii każdego wiersza z kwotą co najmniej 100 000. Zamiast pisać wiersz po wierszu, odczytaj kolumnę naraz i zapisz ją naraz.
Czytanie kodu
- sheet.getRange(2, 4, lastRow - 1, 1).getValues();
- Odczytuje naraz lastRow - 1 wierszy i 1 kolumnę (kolumnę kwot), zaczynając od wiersza 2, kolumny 4.
- amounts.map((row) => [row[0] >= 100000 ? 'Duże' : '']);
- Tworzy tablicę z „Duże” dla wierszy co najmniej 100 000, a pustą dla pozostałych. warunek ? A : B to sposób na zapis if w jednym wierszu.
- sheet.getRange(2, 5, labels.length, 1).setValues(labels);
- Zapisuje labels naraz w kolumnie E, w tylu wierszach, ile ma labels.
Odczytaj naraz przez getValues, przekształć wiersz po wierszu przez map i zapisz naraz przez setValues. To szybsze niż komórka po komórce; nawet tysiące wierszy nie każą ci czekać. Jeśli zakres i tablica mają różną liczbę wierszy, pojawia się błąd „The number of rows in the data does not match …”.
Jak zacząć z GAS i najczęściej używany kod opisujemy w artykule.Czym jest GAS? Jak zacząć i najczęściej używany kod
Twój kod działa w odizolowanym miejscu wewnątrz tej strony. Nie sięga poza stronę ani do innych witryn.
* To symulacja działania Arkuszy Google i Apps Script, która może częściowo różnić się od oryginału.
* Arkusze Google to znak towarowy Google LLC. Ta witryna nie jest powiązana z Google.