Koşullu Toplam Formulü yada Kodu Hakkında Önemli ihtiyac

Katılım
20 Aralık 2005
Mesajlar
6
Koşullu Toplam Formulü yada Kodu Hakkında Ã?nemli ihtiyac

Merhaba arkadaşlar ben Excelde en sık ihtiyaç duyulan Koşullu toplama ile ilgili görüşlerinizi almak istedim..

bildiğiniz gibi bunu bir kaç yolla yapmak mümkün örneğin aşağıdaki gibi elimizde şu şekilde hücreler mevcut(tabiki gerçek çalışmalarda binlerce satır veriler mevcut olabilir zaten amaçda bu şekildeki çalışmaları kolaylaştırmak)

A B
1- AHMET 50
2-MEHMET 75
3-AHMET 60
4-AHMET 80
5-MEHMET 90
6-RAHMİ 25
...
şimdi bizim ahmet isimli şahsın yaptığı harcamaları toplattırarak C1 hücresine yazdırmamız gerekli..

ben bunu bir kaç yolla yapıyorum örneğin:
VBA kodu ile şu şekilde

Yöntem 1:
dim say,toplam
say=1
DO While range("A" & say).value not isempty
if range("A" & say).value="ahmet" then
toplam=range("B"&say).value+toplam
end if
say=say+1
Loop
range("d1").value=toplam

Yöntem 2:
Yada bir diğer ikinci yol koşullu toplam sihirbazını D1 hücresi için çalıştırarak bu aralıkta A1 hücresinde adı ahmet koşuluna uyan şahısların B1 hücrelerindeki harcamalarını toplattırmak..

tabiki iki yolunda dez avantajları var büyük bir uygulama da örnek 1'deki birdeki kodu kullandığınızda kesin doğru sonuç verecek ama sizi biraz bekletecektir..Yöntem 2'deki gibi koşullu toplam sihibazını kullandığınızda ortaya çıkan formülü kopyalama vs gibi şansınız olmadığı için tektek her şahıs için alınacak toplamlara bu sihirbazı tekrar tekrar çalıştırmak zorunda olduğunuzdan büyük veriler olan çalışmalarda kullanışsız olacaktır..Þimdi benim fikir olarak paylaşmak ve önerilerinizi almak istediğim nokta şu daha hızlı ve kesin sonuç verebilecek başka yöntemler geliştiremezmiyiz örneğin
VBA da WorksheetFunction ları kullanarak filan bir sonuç elde etmek mümkün olamazmı..Görüş ve önerileriniz için teşekkürler..
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,370
Excel Vers. ve Dili
Ofis 365 Türkçe
Pivot Table ı öneririm
 
Katılım
20 Aralık 2005
Mesajlar
6
Ama pivot tablo tam olarak bir çözüm değil başlı başına bir Sheet işgal ediyor ve sürekli güncellenmesi lazım

yani bunun direk fonksiyon yada kod ile çözümünü bulmak lazım
 

mehmett

Altın Üye
Katılım
18 Mayıs 2005
Mesajlar
2,571
Excel Vers. ve Dili
Excel 2010 Türkçe
Sn accounter

Ekteki dosyada isteğinize uygun bir ETOPLA fonksiyonu örneği var.
 
Katılım
20 Aralık 2005
Mesajlar
6
Tşk mehmett güzel bir çözüm..Etopla nın WorksheetFunction karşılığı Sumif mi biliyormusunuz...
 
Katılım
20 Aralık 2005
Mesajlar
6
Çok Tşk Mehmet bey
Yanlız bi kaç sorum daha olacak konu ile ilgili

mesela şu örnekte

Sayfa1.Range("l2").Value = WorksheetFunction.SumIf(Sayfa1.[o5:b10000], "<0", Sayfa1.[o5:eek:10000])
buraki ölçüt iadesinde normal olarak excel formülünde kullandığımız "<0" şeklinde kod sonuç vermiyor sizce nasıl kullanmalı...

birde Fonksiyon listesi için teşekkürler yanlız WorksheetFunction da metinle ilgili olan PARÇAAL ve SOLDAN ve SAÐDAN fonksiyonları yok sanıyorum onları kullanabiliyormsunuz..ben göremedim.. teşekkürler
 

mehmett

Altın Üye
Katılım
18 Mayıs 2005
Mesajlar
2,571
Excel Vers. ve Dili
Excel 2010 Türkçe
PARÇAAL fonksiyonunun ingilizce karşılığı MID sanırım. SAÐDAN ve SOLDAN fonksiyonlarının karşılıkları fonksiyon listesinde var. (RIGHT ve LEFT)

Ayrıca bu fonksiyonların VBA'da kullanımı hakkında fazla bilgim yok.
 
Üst