Google E-Tablolar’da otomatik hücre renklendirme nasıl yapılır?

4 min read

Table of Contents

Google E-Tablolar’da büyük veri kümeleriyle çalışırken, aynı değeri taşıyan hücreleri kolayca tespit etmek, tabloyu daha okunabilir ve anlaşılır hale getirir. Bu durumu kolaylaştırmak için, App Script kullanarak geliştirdiğimiz bir JavaScript fonksiyonu ile belirli bir sütun aralığında yer alan aynı değerlere sahip hücreleri otomatik olarak renklendirmek mümkün.

Bu JavaScript fonksiyonu, D:J sütun aralığındaki hücrelerde yer alan verileri inceliyor ve aynı değeri taşıyan hücrelere aynı rengi atıyor. Bu sayede tablo üzerindeki verileri daha kolay ayrıştırabiliyoruz. Özellikle büyük veri kümeleri üzerinde çalışırken aynı değere sahip hücreleri belirlemek çok daha hızlı ve pratik hale geliyor.

Otomatik hücre renklendirme

Aşağıdaki JavaScript fonksiyonu ile ilk satırı atlayarak D:J sütun aralığındaki verileri, belirlediğimiz renk paletleriyle otomatik renklendirme işlemi uyguluyoruz. Fonksiyon, D:J aralığındaki hücrelerde, aynı değeri taşıyan hücrelere aynı renk değerini atıyor. Böylece tablo üzerinde çalışırken hücreleri birbirinden daha kolay bir şekilde ayrıştırabiliyoruz.

İlk olarak, aktif e-tablolar dosyasını ve üzerinde çalışılacak sayfayı alıyoruz. Daha sonra, D2:J aralığındaki verileri elde ederek işlemlere başlıyoruz. Renk paleti olarak 18 farklı renk kullanıyoruz. Bu renk paletinde, pastel tonlarında renkler seçilmiştir. Renk paletinin genişliği, büyük veri kümelerinde aynı renkteki hücrelerin birbirine yakın olmamasını sağlayarak daha anlaşılır bir görünüm sunar.

function colorizeCells() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var range = sheet.getRange("D1:J");
  var values = range.getValues();
  var colors = {};
  var colorIndex = 0;
  var colorPalette = [
    '#FFCDD2', '#F8BBD0', '#E1BEE7', '#D1C4E9', '#C5CAE9', '#BBDEFB', '#B3E5FC', '#B2EBF2',
    '#B2DFDB', '#C8E6C9', '#DCEDC8', '#F0F4C3', '#FFECB3', '#FFE0B2', '#FFCCBC', '#D7CCC8',
    '#F5F5F5', '#CFD8DC'
  ];

  // i=0 yerine i=1'den başlatıyoruz
  for (var i = 1; i < values.length; i++) {
    for (var j = 0; j < values[i].length; j++) {
      var cellValue = values[i][j];
      if (cellValue && !colors[cellValue]) {
        colors[cellValue] = colorPalette[colorIndex % colorPalette.length];
        colorIndex++;
      }
    }
  }

  // i=0 yerine i=1'den başlatıyoruz
  for (var i = 1; i < values.length; i++) {
    for (var j = 0; j < values[i].length; j++) {
      var cellValue = values[i][j];
      if (cellValue) {
        range.getCell(i + 1, j + 1).setBackground(colors[cellValue]);
      }
    }
  }
}

Fonksiyonun Çalışma Mantığı

  1. Veri Elde Edilmesi: İlk adımda, D2:J aralığındaki verileri getValues() metodu ile alıyoruz. Bu yöntemle tüm hücre değerlerini bir dizi halinde elde edebiliyoruz.
  2. Renk Atama: İkinci adımda, hücrelerde yer alan değerleri kontrol ederek aynı değere sahip hücrelere aynı rengi atıyoruz. Burada colorPalette dizisi içerisindeki renkleri kullanıyoruz. Eğer bir hücre değeri henüz bir renge sahip değilse, yeni bir renk atanıyor ve colors nesnesinde saklanıyor.
  3. Renk Uygulama: Son adımda, her hücreye atanmış olan rengi setBackground() metodu ile hücrenin arka plan rengi olarak uyguluyoruz.

Sonuç

Bu fonksiyon sayesinde, Google E-Tablolar üzerinde aynı değere sahip hücreleri renklendirerek verileri daha hızlı ve etkili bir şekilde analiz edebilirsiniz. Özellikle büyük veri setleri üzerinde çalışırken, aynı değere sahip hücreleri belirlemek ve ayırt etmek artık çok daha kolay ve görsel olarak anlaşılır hale geliyor. Bu fonksiyon, iş akışınızı optimize ederek zaman kazandıracaktır.

Share this Post

Birlikte Harika Bir Sey Insa Edelim

Aklinizda bir proje mi var? Formu doldurun, size en kisa surede donelim.

Hizli geri donus
Ucretsiz proje danismanligi

Veya Bize Dogrudan Ulasin