Bölüm 3 Vaka çalışması: aylık satış tablosunu düzenlemek ・ GÖREV 11
Görev 11: Sonuç sütununu tek seferde yazmak (setValues)
Görev
Tutarı 100.000 ve üzeri olan her satırın kategorisine “Büyük” yazın. Satır satır yazmak yerine sütunu tek seferde okuyup tek seferde yazın.
Alıştırma için tablo her çalıştırmadan önce başlangıç hâline döner (gerçek bir e-tablo dönmez. Bir betiğin değişiklikleri bazen Ctrl+Z ile geri alınabilir ama hepsi birden alınamaz).
Dosya +
Kod.gs
Bölüm 3 ・ GÖREV 11
Sonuç sütununu tek seferde yazmak (setValues)
Tutarı 100.000 ve üzeri olan her satırın kategorisine “Büyük” yazın. Satır satır yazmak yerine sütunu tek seferde okuyup tek seferde yazın.
Kodu okumak
- sheet.getRange(2, 4, lastRow - 1, 1).getValues();
- 2. satır, 4. sütundan başlayarak lastRow - 1 satır ve 1 sütunu (tutar sütunu) tek seferde okur.
- amounts.map((row) => [row[0] >= 100000 ? 'Büyük' : '']);
- 100.000 ve üzeri satırlar için “Büyük”, diğerleri için boş olan bir dizi oluşturur. koşul ? A : B, if'i tek satırda yazmanın bir yoludur.
- sheet.getRange(2, 5, labels.length, 1).setValues(labels);
- labels'ı E sütununa, labels'ın satır sayısı kadar tek seferde yazar.
getValues ile tek seferde okuyun, map ile satır satır dönüştürün, setValues ile tek seferde yazın. Hücre hücre okuyup yazmaktan hızlıdır; binlerce satır bile sizi bekletmez. Aralığın ve dizinin satır sayısı farklıysa “The number of rows in the data does not match …” hatası çıkar.
GAS'a nasıl başlanacağı ve sık kullanılan kodlar bir yazıda anlatılıyor.GAS nedir? Başlangıç ve sık kullanılan kodlar
Yazdığınız kod bu sayfanın içindeki yalıtılmış bir alanda çalışır. Sayfanın dışına veya başka sitelere ulaşamaz.
* Bu, Google E-Tablolar ve Apps Script davranışının bir simülasyonudur ve bazı yönleriyle gerçeğinden farklı olabilir.
* Google E-Tablolar, Google LLC'nin ticari markasıdır. Bu sitenin Google ile bir ilgisi yoktur.