• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Topla.Çarpım formülü ile datadan bilgi alma

Katılım
26 Ocak 2006
Mesajlar
757
Excel Vers. ve Dili
Office 365 İngilizce 64 Bit
Ekli dosyamda data sheet inden formülle bilgi aktarmak istiyorum. if ile denedim ama yapamadım. Topla.Çarpım formülü işe yarayabilir, yardım lütfen.
 
Dosyanızın "DR günlük satışlar" sayfasındaki C3 hücresine aşağıdaki formülü kopyalayın. Daha sonra bu formülü diğer hücrelere sürükleyerek çoğaltabilirsiniz.

=TOPLA.ÇARPIM((Data!$D$4:$D$1111=$B3)*(Data!$E$4:$E$1111=C$2)*(DOLAYLI("Data!"&ADRES(4;KAÇINCI($L$5;Data!$3:$3;0);4)&":"&ADRES(1111;KAÇINCI($L$5;Data!$3:$3;0);4))))

Not: Çok sayıdaki formül dosyanızın çalışmasını ağırlaştırabilir bu durumda VBA ile çözümü öneririm.
 
Alternatif;

C3 hücrenize aşağıdaki formülü yazarak sağa ve aşağı çekerek tablonuzu doldurunuz.

=TOPLA.ÇARPIM((Data!$B$4:$B$1100=$L$4)*(Data!$D$4:$D$1100=$B3)*(Data!$E$4:$E$1100=C$2)*(Data!$F$3:$T$3=$L$5);(Data!$F$4:$T$1100))

L5 hücrenizdeki veri doğrulamayıda yeniden düzenleyin.

Not:1) 2008'de 1 Hafta Pazartesi olmadığı için boş gelebilir.

2) Levent Bey'inde belirttiği gibi çok veride bilgisayarınızın performansına göre verinin gelmesi için birkaç saniye beklemeniz gerekebilir.
 
Çok teşekkürler hocam. Bende aşağıdaki gibi formülü yazmayı başarmıştım.

=TOPLA.ÇARPIM((Data!$D$4:$D$2000=$B3)*(Data!$E$4:$E$2000=C$2)*(Data!$F$3:$T$3=$L$5)*(Data!$B$4:$B$2000=$L$4);Data!$F$4:$T$2000)

ancak söylediğiniz gibi programı biraz yavaşlattı. Bu iş VBA ile nasıl halledebiliriz ?
 
Aşağıdaki kodu deneyin. Daha hızlı bir kod yazılabilir.

Kod:
Sub tabloyudoldur()
Set s1 = Sheets("data")
[c3:h65536].ClearContents
sut = WorksheetFunction.Match([L5], s1.[3:3], 0)
For a = 3 To 54
For b = 4 To s1.[b65536].End(3).Row
If s1.Cells(b, sut) = 0 Then GoTo 10
If s1.Cells(b, "b") = [L4] And s1.Cells(b, "d") = Cells(a, "b") Then
sut2 = WorksheetFunction.Match(s1.Cells(b, "e"), [2:2], 0)
Cells(a, sut2) = s1.Cells(b, sut)
End If
10 Next
Next
End Sub
 
Levent hocam,

Gayet hızlı çalışıyor. Çok teşekkür ederim. Süpersin.

Aşağıdaki fonksiyonu çözemedim biraz açıklayabilirmisin ?

sut=WorksheetFunction.Match([L5], s1.[3:3], 0)
 
.....
Aşağıdaki fonksiyonu çözemedim biraz açıklayabilirmisin ?

sut=WorksheetFunction.Match([L5], s1.[3:3], 0)

Bu MATCH yani KAÇINCI fonksiyonunun VBAda kullanılan şeklidir.
 
Geri
Üst