Bu dosya, tek bir hücrenin içine yan yana yazılmış ve "kg" ibaresi taşıyan ağırlık değerlerinin toplanmasını gösterir. Aynı işlem hem dizi mantığıyla çalışan bir çalışma sayfası formülüyle hem de makro ile tanımlanmış KTOPLA fonksiyonuyla yapılır.
Hücrede "kg" varsa metin parçalarının ayrıştırılması için SUBSTITUTE, MID, REPT, TRIM ve LEN birlikte kullanılır. ROW ile INDIRECT parça sayısı kadar sıra numarası üretir, SUMPRODUCT ise ayrılan değerleri sayıya çevirip toplar. "kg" bulunmayan durumda aynı yöntemin sadeleştirilmiş hali çalışır. Formülün tamamı D2 hücresinde incelenebilir.
Dosyanın içeriği
- Sayfa1: B1:D6 aralığında çalışır. B sütununda ağırlıkların yazıldığı hücreler, D sütununda ise toplam sonucunu veren formüller bulunur.
- Module1: VBA modülünde KTOPLA adlı özel fonksiyon yer alır.
Kullanılan formüller
D2 hücresindeki formül önce SEARCH ve ISNUMBER ile hücrede "kg" ifadesi geçip geçmediğini denetler. Formülün yapısı şöyledir:Hücrede "kg" varsa metin parçalarının ayrıştırılması için SUBSTITUTE, MID, REPT, TRIM ve LEN birlikte kullanılır. ROW ile INDIRECT parça sayısı kadar sıra numarası üretir, SUMPRODUCT ise ayrılan değerleri sayıya çevirip toplar. "kg" bulunmayan durumda aynı yöntemin sadeleştirilmiş hali çalışır. Formülün tamamı D2 hücresinde incelenebilir.
Makrolar
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir. Makro yalnızca hesaplama yapar; dosya silme ya da dış bağlantı gibi işlem içermez.- KTOPLA: Seçilen hücredeki metni ayıraca göre parçalara böler, boş olmayan her parçayı sayıya çevirir ve toplar. Ayıraç belirtilmezse virgül kullanılır. Fonksiyon her hesaplamada yeniden çalışacak şekilde ayarlıdır.
Nasıl kullanılır
- Dosyayı açın ve makroları etkinleştirin.
- B sütunundaki hücreye ağırlık değerlerini örneklerdeki düzene uygun yazın.
- Toplamı almak için D sütunundaki formülü ilgili satıra kopyalayın.
- Makro ile toplamak için boş bir hücreye KTOPLA fonksiyonunu yazın ve ilk bağımsız değişken olarak ağırlıkların bulunduğu hücreyi seçin; farklı bir ayıraç gerekiyorsa ikinci bağımsız değişken olarak belirtin.