Kritere ve niteliğine göre koşullu saydırma

Katılım
23 Temmuz 2005
Mesajlar
9
Arkadaşlar merhaba,

Bir raporlama sistemi için ekteki dosyadaki gibi bir sonuç almam gerekiyor.
Sol bölümde veriler için sağ taraftaki raporlama alınabilirmi?
yani bir kriterin - değerleri ve + değerleri ayrı ayrı saydırılabilir mi?



kod miktar kriter eksi artı
101 -100 1200 1200 2 2
102 -12 1200 1201 1 1
103 -50 1201 1202 1 0
104 -40 1202
101 50 1200
102 120 1201
103 60 1200
 

Ekli dosyalar

İ

İhsan Tank

Misafir
Arkadaşlar merhaba,

Bir raporlama sistemi için ekteki dosyadaki gibi bir sonuç almam gerekiyor.
Sol bölümde veriler için sağ taraftaki raporlama alınabilirmi?
yani bir kriterin - değerleri ve + değerleri ayrı ayrı saydırılabilir mi?



kod miktar kriter eksi artı
101 -100 1200 1200 2 2
102 -12 1200 1201 1 1
103 -50 1201 1202 1 0
104 -40 1202
101 50 1200
102 120 1201
103 60 1200
merhaba
F2 hücresine
Kod:
=TOPLA.ÇARPIM(($C$2:$C$8=$E2)*($B$2:$B$8<0))
G2 hücresine
Kod:
=TOPLA.ÇARPIM(($C$2:$C$8=$E2)*($B$2:$B$8>0))
bu formülü yazıp aşağıya doğru çekin
 
Katılım
23 Temmuz 2005
Mesajlar
9
İhsan bey sizden bir ricam daha olacak.
Önceki tabloya ek olarak fiyat hesaplamasıda yapmamız gerekti.
Ekte ürün fiyatlarına göre toplama yapılması gerekiyor yani eksik olan ürünların kritere göre toplamda kaç para eksik ve fazla tutarı olduğunuda bulmamız gerekiyor.
Yardımlarınızı bekliyorum.
Kolay gelsin.
 

Ekli dosyalar

Katılım
4 Ocak 2010
Mesajlar
2,074
Excel Vers. ve Dili
OFFICE 2007 PRO TR - Win7 X64
Altın Üyelik Bitiş Tarihi
18.06.2019
Selamlar,


Altarnatif olarak,


Artı Değerleri bulmak için,


Kod:
=TOPLA.ÇARPIM(($C$2:$C$20=$H2)*($B$2:$B$20>0)*($B$2:$B$20))

Eski Değerleri bulmak için,

Kod:
=TOPLA.ÇARPIM(($C$2:$C$16=$H2)*($B$2:$B$16<0)*($B$2:$B$16))
 
Katılım
23 Temmuz 2005
Mesajlar
9
İhsan bey ilginiz için teşekkürler yalnız sanırım ben anlatımda bir hata yaptım.
Eksik ürünlerin toplamı derken fiyat tutarlarını kastedmiştim. yeni bir düzenleme ile dosyayı ekledim umarım yapmak istediğimi anlabilmişimdir. kusura bakmayım.
 

Ekli dosyalar

Katılım
4 Ocak 2010
Mesajlar
2,074
Excel Vers. ve Dili
OFFICE 2007 PRO TR - Win7 X64
Altın Üyelik Bitiş Tarihi
18.06.2019
Selamlar,

Sorunuzu tam anlamadım,

Ekdeki örnek dosyayı inceleyin,
 

Ekli dosyalar

Katılım
23 Temmuz 2005
Mesajlar
9
Selamlar,

Sorunuzu tam anlamadım,

Ekdeki örnek dosyayı inceleyin,


Örneğin 1200 kriterinin 101 kodlu ürünlerinde 100 tane eksisi var ve ürünün fiyatı 1,5 ayrıca 102 kodlu üründen de 12 tane eksisi var ve fiyatı 2,75 ve 103 kodlu ürünün 50 eksisi var fiyatı 3 tl

şimdi 1200 kriterinin toplam ürünlerden tl olarak ne kadar eksi si vardır.

formülleyecek olursak =kriter eksisi(101=100x1,5)+(102=12x2,75)+(103=50x3)
=sonuç (-333)

bir kriterin eksi toplamları ve artı toplamlarını ayrı ayrı alacağız ve ürünlerin fiyatlarına göre toplamları olacak.
ekteki dosyada mavi ile sonuç aldığım yeri hücreleri tek tek seçerek yapmıştım bunu topla.çarpım ve düşeyara birleşimi gibi bir formülle v.b. yapmak istedim.
kriter sayısı yüzlerce olduğunda problem olucak.

İlginiz için çok teşekkürler.
 
Katılım
23 Temmuz 2005
Mesajlar
9
Bu raporlarma sistemi için hazırlanan makroyu sizinlede paylaşmak istedim.
Herkese teşekkürler.
Faydalı olması ümidiyle.



Sub kriter()
Dim kriter As String, kod As String, krtrson As Long, son1 As Long, son2 As Long
Dim liste3 As Range, bul As Range, hucre As Range
Dim eksikfyt As Integer, fazlafyt As Integer

son1 = Range("C65536").End(3).Row
son2 = Range("F65536").End(3).Row
krtrson = Range("H65536").End(3).Row

Set liste3 = Range("H3:H" & krtrson)

For Each hucre In liste3
eksikfyt = 0
fazlafyt = 0
kriter = hucre.Text

For i = 3 To son1

If Cells(i, 3).Text = kriter Then
kod = Range("C" & i).Offset(0, -2).Text
fiyat = Range("E3:E" & son2).Find(kod, , xlValues, xlWhole).Offset(0, 1).Value

If Range("C" & i).Offset(0, -1).Value < 0 Then
eksikfyt = eksikfyt + (Range("C" & i).Offset(0, -1).Value) * fiyat
Else
fazlafyt = fazlafyt + (Range("C" & i).Offset(0, -1).Value) * fiyat
End If

End If

Next i

hucre.Offset(0, 5).Value = eksikfyt
hucre.Offset(0, 6).Value = fazlafyt

Next hucre

kriter = vbNullString
kod = vbNullString
Set hucre = Nothing
Set bul = Nothing
Set liste3 = Nothing
krtrson = Empty
son1 = Empty
eksikfyt = Empty
fazlafyt = Empty

End Sub
 
Son düzenleme:
Üst