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 listesi

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.

Ekim satışları - Google E-Tablolar
Ekim satışları

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

Apps ScriptAdsız projeDağıt ▾
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 ? 'Büyük' : '']);
sheet.getRange(2, 5, , 1).(labels);
}
Ctrl+S: kaydet · Ctrl+R: çalıştır (düzenleyici) · F5: yeniden aç

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.

Şimdi
Gol

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.