Google E-Tablolar her zaman istediğimiz işlevleri (function) sağlayamayabilir. Özelleştirilmiş bir işlev oluşturmak için uygulama içerisinde “Apps Komut Dosyası” bulunur. Bu içerikte, uzun paragrafları cümlelere ayırmak için Google E-Tablolar’da nasıl özel bir işlev oluşturabileceğimizi göreceğiz.
Google E-Tablolar “Apps Komut Dosyası”, Google Workspace’i entegre eden, otomatikleştiren ve genişleten iş çözümleri geliştirmenize olanak tanıyan bir kod yazma platformudur. Apps Komut Dosyası ile Google Dokümanlar, E-Tablolar, Slaytlar ve Formlar dosyalarına özel işlevler veya özelleştirmeler ekleyebilir, zaman alan veya zahmetli işleri otomatikleştirebilir ve Google Workspace ile diğer Google hizmetleri arasında entegrasyon sağlayabilirsiniz. Apps Komut Dosyası, HTML, CSS ve Javascript gibi yaygın web dillerini kullanır, bu da başka şirketlerin kendi kod yazma sistemlerini öğrenmenize gerek kalmadığı anlamına gelir. Ayrıca, Apps Komut Dosyası 400’ün üzerinde e-tablo işlevini destekler, bu da verileri işleyen, sayısal hesaplamalar yapan ve dizeler üreten formüller oluşturmanıza yardımcı olur.
Neden Google E-Tablolar?
Google E-Tablolar’ın dünya genelinde 160-180 milyon kullanıcı tarafından kullanılmaktadır. Microsoft Excel’in 750 ila 1.2 milyar arasındaki kullanıcı sayısına kıyasla daha düşük olsa da, Google E-Tablolar bulut ortamda çalışan bir tablolama uygulaması olduğu için önemli miktardaki kullanıcıya hitap etmektedir. Ayrıca ücretsiz olarak kullanılabilmektedir ve herhangi bir fiyatlandırmaya tabi değildir. Bu nedenle daha çok iş dünyasına yeni giren kullanıcılar ve yeni ticari oluşumlar tarafından tercih edilmektedir. Microsoft Excel ise daha çok belirli bir olgunluğa erişmiş firmalar tarafından kullanılır.
Uzun paragrafları cümlelere ayırmak
İşlev oluşturmadan önce, uzun paragrafları cümlelere ayırmanın faydalarından söz edebiliriz. Uzun paragrafları cümlelere ayırmak metinlerin okunabilirliğini artırabilir ve iletişimi daha etkili hale getirebilir. İşte bu yaklaşımın bazı faydaları:
- Daha Kolay Anlaşılabilirlik: Uzun paragraflar karmaşık ve yoğun görünebilir, bu da okuyucunun metni anlamasını zorlaştırabilir. Cümlelere ayırarak metni daha basit ve anlaşılır bir şekilde sunabilirsiniz.
- Görsel Rahatlık: Kısa cümleler ve paragraflar göz yorgunluğunu azaltabilir. İnterlokütörler arasında uygun bir görsel denge sağlanır, bu da metnin daha çekici ve okunabilir hale gelmesini sağlar.
- Vurgu ve Önemli Noktalar: Cümlelere ayırma, önemli noktaları vurgulamayı kolaylaştırabilir. Her cümle, belirli bir fikri veya noktayı vurgulayarak okuyucunun odaklanmasını sağlar.
- Zihinsel İşleme Kolaylığı: İnsan zihninin kısa cümleleri ve paragrafları daha kolay işlediği gözlemlenmiştir. Bu şekilde, okuyucu metni daha hızlı ve etkili bir şekilde anlayabilir.
- Dil Engellerini Azaltma: Daha kısa cümleler ve paragraflar, dil engeli yaşayan veya metni ikinci bir dilde okuyan kişiler için daha erişilebilir hale gelir.
- Mobil ve Ekran Okuma Uyumlu: Kısa cümleler ve paragraflar, mobil cihazlarda veya ekran okuyucularında daha iyi görüntülenir. Bu, çeşitli platformlarda metni okuyan kullanıcıların deneyimini geliştirir.
- Düzenli ve Organize Bir Sunum: Cümleleri ve paragrafları ayırarak, metin daha düzenli ve organize görünür. Bu da metni takip etmeyi ve içeriği anlamayı kolaylaştırır.
- Hızlı Bilgi Taraması: Kısa cümleler ve paragraflar, okuyucuların metni hızla tarayarak önemli bilgileri bulmalarını kolaylaştırabilir.
Bu nedenlerden dolayı, özellikle karmaşık veya uzun metinlerde cümleleri ve paragrafları uygun bir şekilde ayırarak okunabilirliği artırmak önemlidir.
Ayrıca uzun paragrafları cümlelere ayırmak, yazılım projelerinde büyük veri setleri oluştururken işimize yarayabilir. Çünkü büyük veri setlerini JSON formatında dışa aktarmak ve projeye dahil etmek gerekebilir. Bunun için Python da kullanılabilir, ancak biz kullanıcıların veya şirketlerin daha aşina olduğu, Google E-Tablolar üzerinde böyle bir işlev geliştirmeyi tercih ettik. Şimdi neler yapabileceğimize bir bakalım.
İşlevi oluşturmak
Burada işlevden kastımız aslında bir JavaScript function’ıdır. “JavaScript function” ifadesi “JavaScript işlevi” veya “JavaScript fonksiyonu” olarak çevrilebilir. “Function” terimi, programlama dilinde belirli bir görevi yerine getiren kod bloğunu ifade eder. JavaScript’te fonksiyonlar, belirli bir işi yapmak için kullanılan, yeniden kullanılabilir ve modüler kod parçalarıdır ve işlerinizi otomatikleştirmenizi sağlar.
Bir JavaScript fonksiyonu, belirli bir işlemi gerçekleştiren kodun bir araya getirilmesiyle oluşturulur. Fonksiyonlar, belirli bir ad ve isteğe bağlı olarak parametrelerle çağrılabilir. Bu parametreler, fonksiyonun içinde işlem görmesi gereken verileri temsil eder. Fonksiyonun görevi tamamlandığında, sonuç (eğer varsa) döndürülebilir.
Öncelikle Google E-Tablolar’da bir sheet oluşturalım. Daha sonra Uzantılar
kısmından Apps Komut Dosyası
nı bulalım.
Daha sonra Kod.gs kısmına aşağıdaki kodları yazalım:
/**
* Bir metni noktalama işaretlerine göre bölerek bir dizi cümle döndürür.
* @param {string} text Cümlelere ayrılacak metin.
* @return Bir dizi cümle.
* @customfunction
*/
function SPLITTEXT(text) {
// Noktalama işaretlerini tanımla
var punctuation = [".", "?", "!"];
// Metni boşluklara göre böl
var words = text.split(" ");
// Cümleleri tutacak bir dizi oluştur
var sentences = [];
// Geçici bir cümle değişkeni tanımla
var sentence = "";
// Her kelime için döngü başlat
for (var i = 0; i < words.length; i++) {
// Kelimeyi cümleye ekle
sentence += words[i] + " ";
// Kelimenin son karakterini al
var lastChar = words[i].slice(-1);
// Eğer son karakter bir noktalama işareti ise
if (punctuation.includes(lastChar)) {
// Cümleyi diziye ekle
sentences.push(sentence.trim());
// Cümleyi sıfırla
sentence = "";
}
}
// Diziyi döndür
return sentences;
}
Kodu yazdıktan sonra Kaydet
ikonuna tıklayalım ve Apps Komut Dosyası
'nı kapatalım ve sheet'e geri dönelim. Yazdığımız kodu daha iyi anlamak için aşağıdaki açıklamalara göz atabilirsiniz:
Yukarıda yazdığımız JavaScript fonksiyonu, bir metni noktalama işaretlerine göre bölmeyi sağlıyor ve her bir cümleyi ayrı bir dizi öğesi olarak döndürüyor.
SPLITTEXT
adında bir fonksiyon tanımlanmıştır.- Fonksiyon,
text
adında bir parametre alır. Bu parametre, cümlelere ayrılacak metni temsil eder. @customfunction
etiketi, bu fonksiyonun Google E-Tablolar'da özel bir işlev olarak kullanılabileceğini belirtir.punctuation
adında bir dizide noktalama işaretleri (".", "?", "!") tanımlanmıştır.words
dizisi, metni boşluklara göre böler ve kelimeleri içerir.sentences
adında bir boş bir dizi oluşturulur. Bu dizi, cümleleri içerecektir.- Geçici olarak bir
sentence
değişkeni tanımlanır. Bu değişken, her bir cümleyi oluşturmak için kullanılacaktır. - Bir döngü, metindeki her kelimeyi işlemek için başlatılır.
- Her kelime
sentence
değişkenine eklenir ve sonuna bir boşluk eklenir. lastChar
değişkeni, kelimenin son karakterini alır.- Eğer
punctuation
dizisilastChar
içeriyorsa (yani kelimenin son karakteri bir noktalama işaretiyse):sentence
değişkenisentences
dizisine eklenir (trimlenerek boşluklar temizlenir).sentence
değişkeni sıfırlanır.
- Döngü sonlandığında,
sentences
dizisi tüm cümleleri içerir. - Fonksiyon,
sentences
dizisini döndürerek işlevini tamamlar.
Bu fonksiyon, verilen metni noktalama işaretlerine göre ayırarak cümleleri elde etmek için kullanılabilir. Özellikle metin analizi veya metin işleme uygulamalarında farklı amaçlarla kullanılabilir.
Boş bir hücreye, örneğin A1 hücresine uzun bir paragraf yerleştirelim. Ben, aşağıdaki metni kullanmayı tercih ettim.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet. Duis sagittis ipsum. Praesent mauris. Fusce nec tellus sed augue semper porta. Mauris massa. Vestibulum lacinia arcu eget nulla. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Curabitur sodales ligula in libero.
Yukarıda yazdığımız işlev, noktalama işaretlerini kullanarak metindeki karakterleri algıladı ve bir döngü oluşturarak cümleleri yukarıdan aşağıya doğru satırlar halinde oluşturdu. Sonucu görmek için aşağıdaki görsele bakınız.

Görüldüğü gibi, Google E-Tablolar'da bize verilen işlevlerden başka, kendimiz için özelleştirilmiş yeni bir işlev oluşturduk. Bu şekilde, yeni JavaScript işlevleri oluşturarak iş süreçlerimizi daha da hızlandırabilir ve zamandan tasarruf sağlayabiliriz.