Bu dosya, bir hücredeki karakter sayısını boşluklar dikkate alınmadan hesaplar. Aynı sonuç iki yöntemle verilir: LAMBDA tabanlı bir çalışma sayfası formülü ve VBA ile yazılmış kullanıcı tanımlı bir fonksiyon. İki yöntemin sonucu yan yana görülerek karşılaştırılabilir.
Excel'in İngilizce yazımında ayırıcı virgüldür; Türkçe yazımda fonksiyon adları da değişir. Formül, LAMBDA desteği olan bir Excel sürümü gerektirir.
H sütunu ise aşağıdaki fonksiyonu çağırır:
Dosyanın içeriği
- Sayfa1: B sütununda "Müşteri Adı" başlığı altında B3:B7 aralığında beş örnek ad bulunur (Ali Yılmaz, Ayşe Demir, Mehmet Can, Zeynep Kurt, Cem Tuncer).
- E sütunu "Formül" başlığını taşır ve LAMBDA formülünün sonucunu gösterir.
- H sütununda aynı adların karakter sayısı kullanıcı tanımlı fonksiyonla hesaplanır.
Kullanılan formüller
E sütunundaki formül, LAMBDA içinde SUBSTITUTE ile boşlukları siler, ardından LEN ile kalan karakterleri sayar. Formül B3 hücresi için şu şekildedir:=LAMBDA(text; LEN(SUBSTITUTE(text; " "; "")))(B3)
H sütunu ise aşağıdaki fonksiyonu çağırır:
=KarakterSay_BosluklarHaric(B3)
Makrolar
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir. Module1 içinde tek bir fonksiyon bulunur: KarakterSay_BosluklarHaric. Fonksiyon, parametre olarak aldığı hücrenin değerindeki boşlukları Replace ile kaldırır ve kalan metnin uzunluğunu Len ile döndürür. Makro düğmesi yoktur; fonksiyon, hücreye formül olarak yazılarak çalıştırılır. Kodda dosya silme veya dış bağlantı gibi işlem yoktur.Nasıl kullanılır
- Dosyayı açın ve makroları etkinleştirin.
- Sayılacak metinleri B sütununa, B3 hücresinden başlayarak yazın.
- E sütunundaki formülü ve H sütunundaki fonksiyonu ilgili satırlara aşağı doğru kopyalayın.
- Boşluksuz karakter sayısı her iki sütunda da otomatik hesaplanır.
- Fonksiyonu başka bir dosyada kullanmak için Module1 kodunu o dosyaya aktarın ve dosyayı .xlsm olarak kaydedin.