Elektronik tablo verilerindeki yinelenen satırları kaldırmak için kullanabileceğiniz bir Apps Komut Dosyası kitaplığı oluşturun.
Hedefler
- Komut dosyasını ayarlayın.
- Komut dosyasını çalıştırın.
Ön koşullar
Bu örneği kullanmak için aşağıdaki ön koşullara ihtiyacınız vardır:
- Google Hesabı (Google Workspace hesapları için yönetici onayı gerekebilir).
- İnternete erişimi olan bir web tarayıcısı.
Komut dosyasını ayarlama
Kitaplığı oluşturmak için aşağıdaki adımları uygulayın:
- Google Hesabınızda oturum açın.
- Komut dosyası düzenleyiciyi açmak için script.google.com adresine gidin.
- Sol üstte Yeni proje'yi tıklayın.
Komut dosyası düzenleyicideki tüm kodları silin ve aşağıdaki kodu yapıştırın.
Kaydet'i tıklayın.
Sol üstte Adsız proje'yi tıklayın.
Komut dosyanızı Yinelenen satırları kaldır olarak adlandırın ve Yeniden adlandır'ı tıklayın.
Dağıt > Yeni dağıtım'ı tıklayın.
Tür seç'in yanındaki Dağıtım türlerini etkinleştir'i tıklayın > Kitaplık'ı tıklayın.
Kitaplığın açıklamasını girin (ör. Yinelenen satırları kaldır). Kitaplığa erişimi olan herkes bu açıklamayı görüntüleyebilir.
Dağıt'ı tıklayın.
Sol taraftan Proje ayarları'nı tıklayın.
Kimlikler bölümünde, daha sonraki bir adımda kullanmak üzere komut dosyası kimliğini kopyalayın.
Komut dosyasını çalıştırma
Bir kitaplığı kullanmak için ilgili Apps Script projesinde en az görüntüleme iznine sahip olmanız gerekir. Kitaplığı oluşturduğunuz için gerekli izinlere sahipsiniz. Diğer kullanıcıların kitaplığı kullanmasına izin vermek istiyorsanız onlara Apps Komut Dosyası projesi için görüntüleme izni verin.
Kitaplığı kullanmak için aşağıdaki adımları uygulayın:
- Yinelenen satırları içeren verileri olan bir Google E-Tablolar e-tablosunu açın. Örnek e-tablo kullanmak için Örnek yinelenen satırlar e-tablosunun kopyasını oluşturun.
- Uzantılar > Apps Komut Dosyası'nı tıklayın.
- Kitaplıklar'ın yanındaki Kitaplık ekle'yi tıklayın.
- Komut Dosyası Kimliği bölümüne, önceki bölümde kopyaladığınız kitaplık Apps Script projesindeki komut dosyası kimliğini yapıştırın.
- Ara'yı tıklayın.
- Sürüm bölümünde 1'i seçin.
- Ekle'yi tıklayın.
Komut dosyası düzenleyicideki tüm kodları silin ve aşağıdaki kodu yapıştırın.
function runLibrary() { Removeduplicaterows.removeDuplicates(); }
İşlev açılır listesinde runLibrary'yi seçin.
Çalıştır'ı tıklayın.
Güncellenen verileri yinelenen satırlar olmadan görüntülemek için e-tabloya dönün.
Kodu inceleme
Bu çözümün Apps Komut Dosyası kodunu incelemek için aşağıdaki Kaynak kodunu görüntüle'yi tıklayın:
Kaynak kodunu görüntüleyin
Komut dosyası, tüm verileri almak için önce e-tabloya tek bir çağrı yapar. E-tabloyu satır satır okumayı seçebilirsiniz ancak JavaScript işlemleri, E-Tablolar gibi diğer hizmetlerle iletişim kurmaktan çok daha hızlıdır. Ne kadar az çağrı yaparsanız o kadar hızlı olur. Her komut dosyası çalıştırmasının maksimum çalışma süresi 6 dakika olduğundan bu önemlidir.
data
değişkeni, sayfadaki tüm değerleri içeren bir JavaScript 2 boyutlu dizisidir. newData
, komut dosyasının kopya olmayan tüm satırları yerleştirdiği boş bir dizidir.
İlk for
döngüsü, data
2 boyutlu dizisindeki her satırda iterasyon yapar. İkinci döngü, her satır için newData
dizisinde eşleşen verilere sahip başka bir satırın olup olmadığını test eder. Yinelenen bir satır değilse satır newData
dizisine itilir.
Son olarak komut dosyası, sayfanın mevcut içeriğini siler ve newData
dizisinin içeriğini ekler.
Değişiklikler
Kitaplığı ihtiyaçlarınıza göre istediğiniz kadar düzenleyebilirsiniz. Aşağıda isteğe bağlı bir değişiklik verilmiştir.
Bazı sütunlarda eşleşen verileri içeren satırları kaldırma
Eşleşen satırları tamamen kaldırmak yerine, yalnızca bir veya iki sütunda eşleşen verileri olan satırları kaldırmak isteyebilirsiniz. Bunu yapmak için koşullu ifadeyi değiştirebilirsiniz.
Örnek kodda aşağıdaki satırı güncelleyin:
if(row.join() == newData[j].join()){ duplicate = true; }
Satırı aşağıdaki kodla değiştirin:
if(row[0] == newData[j][0] && row[1] == newData[j][1]){ duplicate = true; }
Yukarıdaki koşullu ifade, iki satırın sayfanın ilk ve ikinci sütunlarında aynı verilere sahip olduğu her durumda yinelemeleri bulur.
Katkıda bulunanlar
Bu örnek, Google Geliştirici Uzmanı Romain Vialard tarafından oluşturulmuştur. Romain'ı Twitter'da @romain_vialard hesabından takip edebilirsiniz.
Bu örnek, Google Geliştirici Uzmanları'nın yardımıyla Google tarafından yönetilir.