• DİKKAT

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

Toplamları gelsin..!

Katılım
10 Ekim 2010
Mesajlar
1,469
Excel Vers. ve Dili
2010 Türkçe
Merhaba,
sipariş sayfasına girilen firma adı ve ürün adı Lot ve pus /fine bilgileri üretim ve sevk sayfasındaki veriye denk geliyorsa, sipariş sayfasında girilen bu bilgilere ait toplamı çekmek istiyorum.
Örneğin sipariş sayfasında o girilen ürüne ait ne kadar üretim varsa toplamı, yine sevk edilende de aynı şekilde toplamı
 

Ekli dosyalar

Merhaba.

-- Üretim ve sevk sayfaları H2 hücrelerine ayrı ayrı aşağıdaki formülü uygulayın ve liste boyunca kopyalayın (yardımcı sütun).
Kod:
=$B3&$C3&$D3&$E3
-- SİPARİŞ sayfası G3 hücresine;
Kod:
=EĞER(EHATALIYSA(KAÇINCI($B3&$C3&$D3&$E3;üretim!$H$3:$H$4;0));"";İNDİS(üretim!$G$3:$G$4;KAÇINCI($B3&$C3&$D3&$E3;üretim!$H$3:$H$4;0);0))
-- SİPARİŞ sayfası H3 hücresine;
Kod:
=EĞER(EHATALIYSA(KAÇINCI($B3&$C3&$D3&$E3;sevk!$H$3:$H$4;0));"";İNDİS(sevk!$G$3:$G$4;KAÇINCI($B3&$C3&$D3&$E3;sevk!$H$3:$H$4;0);0))
 
Merhaba Ömer bey, İlginiz için teşekkür ediyorum.
Formülleri uyguladım, fakat toplamı değil de sadece birini çekiyor bilgiler eşit olduğunda toplamının gelmesi gerekiyor.
Ayrıca formülü farklı bir şekilde yaza bilir miyiz yardımcı sütun olmadan.

Örnek dosyaya lütfen bakınız nerde hata yapıyorum.
İyi çalışmalar dilerim.
 

Ekli dosyalar

selam,
eki inceleyin..
kolay gelsin..

NOT : formül , ilgili kriterlerin kg. olarak sevk edilen değeri getirir.
 
Son düzenleme:
selam,
soruyu yanlış anlamış da olabilirim. Birönceki cevabım, TARİH bir kriter alınmadan İNDİS ile yapılmıştı. Aynı tarihtekiler TOPLAM olarak alınacaksa ÇOKETOPLA formülü ile aşağıdaki formülleri uygulamak yerinde olacaktır.
SİPARİŞ sayfası G3 hücresine (Üretilen Miktar kolonuna)

Kod:
=EĞER(BOŞLUKSAY($A3:$E3)>=1;"";EĞER(ÇOKETOPLA(üretim!$G$3:$G$52;üretim!$A$3:$A$52;$A3;üretim!$B$3:$B$52;$B3;üretim!$C$3:$C$52;$C3;üretim!$D$3:$D$52;$D3;üretim!$E$3:$E$52;$E3)=0;"";ÇOKETOPLA(üretim!$G$3:$G$52;üretim!$A$3:$A$52;$A3;üretim!$B$3:$B$52;$B3;üretim!$C$3:$C$52;$C3;üretim!$D$3:$D$52;$D3;üretim!$E$3:$E$52;$E3)))

Sipariş Sayfası H3 hücresine (Sevk edilen Miktar kolonuna)

Kod:
=EĞER(BOŞLUKSAY($A3:$E3)>=1;"";EĞER(ÇOKETOPLA(sevk!$G$3:$G$52;sevk!$A$3:$A$52;$A3;sevk!$B$3:$B$52;$B3;sevk!$C$3:$C$52;$C3;sevk!$D$3:$D$52;$D3;sevk!$E$3:$E$52;$E3)=0;"";ÇOKETOPLA(sevk!$G$3:$G$52;sevk!$A$3:$A$52;$A3;sevk!$B$3:$B$52;$B3;sevk!$C$3:$C$52;$C3;sevk!$D$3:$D$52;$D3;sevk!$E$3:$E$52;$E3)))
 
Merhaba, Şaban Bey,
Aşağıdaki formülü eklediğimde değer hatası alıyorum, bu formülü örnek çalışmada I Sütuna yerleştiriyorum, formül sonucunda gelecek değer 0 ise boş olarak uygulamak istiyorum yardımcı olabilir misin.

Kod:
=F3-G3
 
selam,
geç cevap için kusuruma bakma..

aşağıdaki formül kullanılabilir..

Kod:
=EĞERHATA(EĞER(F3-G3=0;"";F3-G3);"")
 
Merhaba, Şaban Bey,
Bir önceki mesajda, toplamı gelecek formül, tarihle ilgili bir işlem olmaması gerekiyordu, sipariş sayfasında ki tarih siparişin verildiği tarihle ilgili bu toplam için bir işlem olmaması gerekiyordu...
 
tamam
formüllerde revize edilebilir.
formüllerin içerisindeki
sevk!$A$3:$A$52;$A3; ve üretim!$A$3:$A$52;$A3;
yazanları sileceksin...
ve
BOŞLUKSAY($A3:$E3) ibaresindeki $A3 yerine $B3 yazılacak..
 
Merhaba,

Alternatif kod,
Sipariş sayfanızın "E" sütununa veri girildikten sonra çalışır.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 5 Then
If Target.Row < 3 Then Exit Sub
Dim S1 As Worksheet, S2 As Worksheet, S3 As Worksheet
Dim a(), b(), d1 As Object, d2 As Object
Dim i As Long, j As Long, Satir As Long, Kriter
Set S1 = Worksheets("üretim")
Set S2 = Worksheets("sevk")
Set d1 = CreateObject("Scripting.Dictionary")
Set d2 = CreateObject("Scripting.Dictionary")
a = S1.Range("A3:G" & S1.Cells(Rows.Count, 1).End(3).Row)
b = S2.Range("A3:G" & S2.Cells(Rows.Count, 1).End(3).Row)
For i = 1 To UBound(a)
    Kriter = a(i, 2) & a(i, 3) & a(i, 5)
    d1(Kriter) = d1(Kriter) + CDbl(a(i, 7))
Next i
For i = 1 To UBound(b)
    Kriter = b(i, 2) & b(i, 3) & b(i, 5)
    d2(Kriter) = d2(Kriter) + CDbl(b(i, 7))
Next i
Satir = Target.Row
Kriter = Cells(Satir, 2) & Cells(Satir, 3) & Cells(Satir, 5)
If d1(Kriter) > 0 Or d2(Kriter) > 0 Then
    Cells(Satir, 7) = d1(Kriter)
    Cells(Satir, 8) = d2(Kriter)
Else
    Cells(Satir, 7) = 0
    Cells(Satir, 8) = 0
End If
End If
Set d1 = Nothing: Set d2 = Nothing: i = Empty
End Sub

Kodu Sipariş sayfanızın kod yordamına ekleyiniz.
 
Merhaba Şaban Bey, Bunu siz yapsanız hata alıyorum sürekli. sanırım diğer kısımlara ait yerleri de siliyorum.

Merhaba Tasmed,
Makro olmasını bende istiyorum fakat formül bu konuda daha dinamik çalışacağından formül olması gerekiyor. Formülde belki çok kasacak veriler çoğaldığında. Ancak Makronun çalışmasını farklı bir kritere göre uyarlama yaparsak kullanılabilir diye düşünüyorum.


Şaban Bey, Formüllerinize ben aşağıdaki şekilde uyarlama yapmıştım.
G SÜTUNA EKLENEN FORMÜL
Kod:
=EĞER(BOŞLUKSAY($A3:$E3)>=1;"";EĞER(ÇOKETOPLA(GİRİŞ!$G$3:$G$1048576;GİRİŞ!$A$3:$A$1048576;$A3;GİRİŞ!$B$3:$B$1048576;$B3;GİRİŞ!$C$3:$C$1048576;$C3;GİRİŞ!$D$3:$D$1048576;$D3;GİRİŞ!$E$3:$E$1048576;$E3)=0;"";ÇOKETOPLA(GİRİŞ!$G$3:$G$1048576;GİRİŞ!$A$3:$A$1048576;$A3;GİRİŞ!$B$3:$B$1048576;$B3;GİRİŞ!$C$3:$C$1048576;$C3;GİRİŞ!$D$3:$D$1048576;$D3;GİRİŞ!$E$3:$E$1048576;$E3)))
H SÜTUNA EKLENEN FORMĞL
Kod:
=EĞER(BOŞLUKSAY($A3:$E3)>=1;"";EĞER(ÇOKETOPLA(ÇIKIŞ!$G$3:$G$1048576;ÇIKIŞ!$A$3:$A$1048576;$A3;ÇIKIŞ!$B$3:$B$1048576;$B3;ÇIKIŞ!$C$3:$C$1048576;$C3;ÇIKIŞ!$D$3:$D$1048576;$D3;ÇIKIŞ!$E$3:$E$1048576;$E3)=0;"";ÇOKETOPLA(ÇIKIŞ!$G$3:$G$1048576;ÇIKIŞ!$A$3:$A$1048576;$A3;ÇIKIŞ!$B$3:$B$1048576;$B3;ÇIKIŞ!$C$3:$C$1048576;$C3;ÇIKIŞ!$D$3:$D$1048576;$D3;ÇIKIŞ!$E$3:$E$1048576;$E3)))
 
selam,
formüller revize edilerek dosyadaki yerlerine yerleştirildi.
Eki inceleyin..
 
Son düzenleme:
Teşekkür ediyorum şaban bey elinize sağlık
 
Geri
Üst