• DİKKAT

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

siparişi depodan düşme

  • Konbuyu başlatan Konbuyu başlatan yellow
  • Başlangıç tarihi Başlangıç tarihi
Katılım
21 Ekim 2006
Mesajlar
85
Excel Vers. ve Dili
excel 2007 türkçe
arkadaşlar sorum örnek dosyadadır.yardımlarınızı bekliyorum.
 
Sayın Yellow,

Ne yazik kı tablonuzu inceleyince nasıl bir formül oluşturmak istediğiniz anlaşılmıyor.

Topla.Çarpım kullanarak çok basit yapılabilecek bir formül gibi gözüküyor, ama neyle neyi toplatıp, nasıl bir sonuç bulmak istediğiniz anlaşılmıyor.

Muhtemelen bu yüzden cevap alamadınız.

Yaptığınız işin dışına çıkarak biraz daha genel anlatırsanız belki daha anlaşılır olabilir.
 
sayın xxcell;

firma koduna göre yukarıdan aşağı doğru bakarak aynı olanlardan ilkini kalandan depoyu düşecek sonuç diyecek daha sonraki gelen aynı firma kodlarının kalan kısmını bir önceki sonuç kısmından düşecek o satırdaki sonuç bölümüne yazacak.
böylelikle firma koduna göre süzme işlemi yapıldığında yükleme tarihine göre toplam fazlayı veya yapılacak miktarı bulacam.
inşallah anlatabilmişimdir.

ilginize teşekkür ederim.
 
Ekli dosyayı incelerseniz, tam tarif ettiğiniz gibi yaptım.
Eğer bir değişiklik - ilave söz konusu olursa bildiriniz.
 
ArkadaŞlar Rar Uzantili

ArkadaŞlar Bu Dosyayi Zip Uzantili Tekrar GÖnderİrmİsİnİz.
Çok İŞİme YarayacaĞini DÜŞÜnÜyorum..
Şİmdİden TŞk.ederİm.

Syg.
 
ArkadaŞlar Bu Dosyayi Zip Uzantili Tekrar GÖnderİrmİsİnİz.
Çok İŞİme YarayacaĞini DÜŞÜnÜyorum..
Şİmdİden TŞk.ederİm.

Syg.

İlk olarak winrar'i internetten takribi 2 dk. içinde çok rahat kurabileceğinizi hatırlatırım.

Konumuza dönersek Sn.Yellow'un soru.xls dosyasında N2 hücresine;

=M2-TOPLA.&#199;ARPIM( ($D$2:$D$1000=D2) * (SATIR($F$2:$F$1000)<=SATIR())* ($F$2:$F$1000) )

yaz&#305;p a&#351;a&#287;&#305; do&#287;ru &#231;ekmeniz yeterlidir.
 
Yeri gelmi&#351;ken de&#287;inmek isterim;

TOPLA.&#199;ARPIM FONKS&#304;YONUN &#199;ALI&#350;MA PRENS&#304;B&#304;

=M2-TOPLA.&#199;ARPIM( ($D$2:$D$1000=D2) * (SATIR($F$2:$F$1000)<=SATIR())* ($F$2:$F$1000) )

Topla.&#231;arp&#305;m anlamas&#305; ba&#351;lang&#305;&#231; d&#252;zeyinde kar&#305;&#351;&#305;k oldu&#287;u i&#231;in yukar&#305;daki fonksiyonu makro ile a&#351;a&#287;&#305;ya yazd&#305;m.
Ba&#351;lang&#305;&#231; d&#252;zeyinde Basic bilgisi olan birisi fonksiyonla a&#351;a&#287;&#305;daki kodu kar&#351;&#305;la&#351;t&#305;&#287;&#305;nda fonksiyonun nas&#305;l &#231;al&#305;&#351;t&#305;&#287;&#305;n&#305; anlayacakt&#305;r.

Kodun fonksiyondan tek fark&#305; ilgili de&#287;eri aktif h&#252;creye (activecell) yaz&#305;yor ve aktif sat&#305;ra (activecell.row) g&#246;re k&#305;yaslama yap&#305;yor.

Kod:
Sub TOPLA_CARPIM_FONKSIYONU_CALISMA_PRENSIBI()

deger = 0

For SATIR = 2 To 2000

deger = deger + ((Range("D" & SATIR) = Range("D" & ActiveCell.Row)) * _
 (Range("F" & SATIR).Row <= ActiveCell.Row) * Range("F" & SATIR))

Next

deger = Range("M" & ActiveCell.Row) - deger

ActiveCell = deger


End Sub

&#214;zetle anla&#351;&#305;lmas&#305; gereken; Topla.&#199;arp&#305;m fonksiyonu h&#252;cre erimini &#304;LK H&#220;CRE'den SON H&#220;CRE'ye kadar for - next d&#246;ng&#252;s&#252; gibi teker teker ayr&#305; olarak &#231;al&#305;&#351;t&#305;r&#305;p her &#231;al&#305;&#351;mas&#305;nda &#252;retti&#287;i de&#287;erlerin toplam&#305;n&#305; verir.

Genelde i&#231;inde Mant&#305;ksal kar&#351;&#305;la&#351;t&#305;rmalar kullan&#305;larak ilgili sat&#305;rla ilgili k&#305;yaslamalar yap&#305;l&#305;r. O sat&#305;r kar&#351;&#305;la&#351;t&#305;rmaya uyuyorsa 1 uymuyorsa 0 de&#287;eri alaca&#287;&#305;ndan bu kar&#351;&#305;la&#351;t&#305;rmay&#305; ba&#351;ka bir i&#351;lemle &#231;arpt&#305;rararak, o sat&#305;r&#305; i&#351;leme al&#305;p almamay&#305; sa&#287;lam&#305;&#351; oluruz.

&#246;rne&#287;in; Topla.&#231;arp&#305;m( (a1:a100>"") * (b1:b100) )
burada a1:a100 aras&#305;ndaki de&#287;erlerin >"" i&#231;erisinin dolu olup olmad&#305;&#287;&#305;n&#305; kar&#351;&#305;la&#351;t&#305;r&#305;yor, ve b s&#252;tunundaki h&#252;cresindeki de&#287;erle &#231;arpt&#305;r&#305;yor. Dolu olmayan a h&#252;creleri mant&#305;ksal kar&#351;&#305;la&#351;t&#305;rmas&#305; 0 de&#287;eri &#252;retece&#287;inden ve 0 ile &#231;arp&#305;m i&#351;lemi oldu&#287;undan ilgili sat&#305;r sonucu kesinlikle 0 &#252;retecek yani i&#351;leme al&#305;nmayacakt&#305;r. Sonu&#231; olarak a h&#252;cresinde dolu olan sat&#305;rlar&#305;n b deki toplam&#305;n&#305; verecektir.

&#246;rnek 2; topla.&#231;arp&#305;m( sat&#305;r(a1:a100)<sat&#305;r() * (a1:a100) )
burda bulundu&#287;umuz sat&#305;rdan &#246;nceki sat&#305;rlar&#305;n a s&#252;tunundaki de&#287;erlerin toplam&#305;n&#305; verecektir.
 
Son düzenleme:
teşekkür

sayın xxcell ;

arkadaşım bunun çözümü için bir aydır uğraşıyorum.çok teşekkür ederim.aklına yüreğine sağlık.

yanlız ben bunu makro olarak yapamadım rica etsem örnek üzerinde yapabilirmisin.

hep böyle başarılara imza atman dileğiyle teşekkürler.
 
sayın xxcell ;

yukarıdaki makroyu çalıştırdığımda imleç hangi hücredeyse onu hesaplıyor diğer şekilde tüm sütun için hesaplatmak için nereyi değiştirmeliyim.

şimdiden teşşekkürler
 
Xxcell ArkadaŞima..

ArkadaŞim Winrar Kurmayi Bİlİyorum.fakat İŞ Yerİmde DiŞaridan Program Kurulumuna İzİn Verİlmİyor.bİlgİ Sİstem Tarafindan İzİn Verİlmİyor.o YÜzden Dosyayi Zip Uzantili İstedİm.yardimci Olabİlecek Yok Mu?
 
ArkadaŞim Winrar Kurmayi Bİlİyorum.fakat İŞ Yerİmde DiŞaridan Program Kurulumuna İzİn Verİlmİyor.bİlgİ Sİstem Tarafindan İzİn Verİlmİyor.o YÜzden Dosyayi Zip Uzantili İstedİm.yardimci Olabİlecek Yok Mu?

xxceel in dosyasının zip li hali ekte
 
Oncelikle anladığım kadarı ile Sn. yeşilcan'a patavatsızlık yapmışım.
Haddimi aştıysam kusura bakmayın, inanın öyle bir niyetim yok.

ikincisi yoğunluktan ilgilenememişim Sn. Yellow bir ricada bulunmuş,
aşağıdaki kodu bir butona atayıp çalıştırırsanız. topla.çarpım'ın yaptığı
işi yapıyor.

Kod:
Sub n_sutununa_topla_carpim_formulu_yerine_yazilmasi_gereken_fonksiyon()

son_satir = [d65536].End(xlUp).Row
If [f65536].End(xlUp).Row > son_satir Then son_satir = [f65536].End(xlUp).Row

deger = 0

For derlenen_satir = 2 To son_satir

For SATIR = 2 To son_satir

deger = deger + ((Range("D" & SATIR) = Range("D" & derlenen_satir)) * _
 (Range("F" & SATIR).Row <= derlenen_satir) * Range("F" & SATIR))

Next

deger = Range("M" & derlenen_satir) - deger

Cells(derlenen_satir, "n") = deger
deger = 0
Next

End Sub
 
sayın xxcell

çok teşekkür ederim
 
Geri
Üst