Negatif sayıları aynı satır üzerindeki pozitif sayılara dağıtmak...

Katılım
17 Şubat 2010
Mesajlar
226
Excel Vers. ve Dili
excel 2007 türkçe
Altın Üyelik Bitiş Tarihi
03-11-2020
Hocam eğer henüz yapmadıysan hacimli uygulamayı yapma.Orada yanlış bir fikir oluştu.Şöyle ki Güngören şubede boş yer var.Hatta o şubede ürün olmadığını bomboş bir şube olduğunu varsayalım.Bulgurlu şube ise neredeyse tamamen dolu olsun.Ayrıca bu iki şubenin eşit oranda Kay süt ihtiyacı(100-100) olsun.Şimdi Bulgurlu şube hacim olarak Güngören şubeden çok daha büyük olduğu için yapacağımız program Gürsel şubedeki -50 fazla olan ürünü bu iki şubenin büyüklükleri ile doğru orantılı olarak (misal oran 4/1 olsun) 40 'a 10 adet olarak dağıtacak.Neticede yanlış yapmış oluyor.Resmin geneline bakarsak şubenin ihtiyacı var ve eşit oranda ihtiyaç duyuyorlar.Bizim burada yapmamız gereken şubelerin büyüklüklerinden değil şubelerin doluluk oranlarından hareket etmek.Peki nasıl olacak bu?Sabit ismindeki sekmede 10.000 kalemlik bir liste oluşturursak ben buraya envanterdeki ürünleri ve bu ürünlerin hacimleri elle girebilirim.Zaten şubelerin hacimlerini girdiğimiz bir "Sevkiyat Hacim katsayısı (m3)" olarak oluşturmuşuz.Şimdi ben bir şubenin envanterini bu 10.000 satırlık listeye yapıştırınca adet sayılarının yanına ürünlerin hacimleri düşecek.Ürün adedi X ürün hacmi bize bir ürünün şubede kapladığı hacmi verecek.Bu hacimlerin toplamı ise şubedeki mevcut ürünlerin toplam hacmi.TOPLAM HACİM/ŞUBE HACMİ bize doluluk oranını verecek.İşte biz bu doluluk oranını kullanacağız.Sabit sekmesinde Şube adı - Şube hacmi - DOLULUK ORANI yanyana olacak.Şubenin doluluk oranı % şeklinde olabilir.Başa dönersek programa şöyle bir şart koyabiliriz.Doluluk oranı % 90 dan fazla olan şubeye sevkıyat yapma.Tabi bu % XX ifadesindeki XX rakamını sevkiyat yap dediğinde biz belirleyeceğiz.Tıpkı limit sevkıyat miktarını belirlediğimiz gibi.Umarım açıklayabilmişimdir ve umarım olayı abart mamışımdır.Şimdiden teşekkürler.... (BEN BU MESAJI YAZARKEN SANIRIM SİZ BİR KAÇ MESAJ ATMIŞSINIZ BİRAZDAN OKUYUP DÖNÜŞ YAPARIM)
 
Katılım
17 Şubat 2010
Mesajlar
226
Excel Vers. ve Dili
excel 2007 türkçe
Altın Üyelik Bitiş Tarihi
03-11-2020
Sanırım ilk mesajınızda kayma olduğu için diğer mesajları hazırladınız.Evet Şube büyüklüğü oranında sevkıyat yapınca eğer sevk miktarı ihtiyacı aşarsa bunun ihtiyaca göre güncellenmesi çok mantıklı.Ama üst tarafta açıklamaya çalıştığım gibi şubenin büyüklüğü bizi yanılgıya götürüyor.Bizim için mühim olan boş hacim.Yani diğer bir deyişle doluluk oranı.Tamamen dolu 250.000 metre kare bir şubedense boş şekilde 2.000 metrekare bir şube sevkıyata daha uygundur diye düşünüyorum.Bu nedenle eğer önceki mesajda tarif ettiğim gibi bir düzenleme yapabilirsek sanırım olayı aşmış oluyoruz.Şimdiden teşekkürler.Kolay gelsin.....
 

hımmmmmmmm

Destek Ekibi
Destek Ekibi
Katılım
10 Temmuz 2011
Mesajlar
601
Excel Vers. ve Dili
2000-2007-2010-2016
slm

envanterden kasıt;
şubelerdeki ürünlerin, o şubede olması gereken doluluk miktarınımı belirtiyor...

envanterle şube hacimi arasındaki bağ nedir...
 
Katılım
17 Şubat 2010
Mesajlar
226
Excel Vers. ve Dili
excel 2007 türkçe
Altın Üyelik Bitiş Tarihi
03-11-2020
envanterden kasıt;
şubelerdeki ürünlerin, o şubede olması gereken doluluk miktarınımı belirtiyor...

envanterle şube hacimi arasındaki bağ nedir...
Envanterden kasıt tüm ürünlerin listesi.Şöyle ki söz konusu şubede hangi üründen kaç adet olduğu.

Kod:
Stok kodu           Ürün adı                                   Adet   
8690521035500	DOMESTOS 2160 GR.ADET KAR BEYAZ                	17
8690521015151	DOMESTOS 2160 GR.ADET LİMON                    	31
8690637537172	DOMESTOS 2160 GR.ADET OKALİPTUS              	20
8690521042614	DOMESTOS 2160 GR.ADET YAZ GÜNEŞ                 90
Burada gürsel şubede söz konusu ürünlerden örnek adetler var.Bunların tüm ürünler için olanı ENVANTER.Şimdi mesela bir adet Domestos 0,01 M3 olsun.Bu durumda ;

Kod:
Stok kodu           Ürün adı                                    Adet      Hacim   Toplam hacim
8690521035500	DOMESTOS 2160 GR.ADET KAR BEYAZ                	17          0,01          0,17
8690521015151	DOMESTOS 2160 GR.ADET LİMON                    	31          0,01          0,31          
8690637537172	DOMESTOS 2160 GR.ADET OKALİPTUS              	20          0,01          0,20
8690521042614	DOMESTOS 2160 GR.ADET YAZ GÜNEŞ                 90          0,01          0,90
Genel hacim =0,17+0,31+0,2+0,9 =1,58 m3 olur.Bu şubenin temsili hacmi 3 m3 olsun.
Doluluk oranı 1,58/3= % 52,6 gibi bir oran buluruz.Demek ki bu şubenin doluluk oranı % 52,,6 diyebiliriz.Burada Stok kodu , Ürün adı,Adet, Ürün Hacim ve Şube Hacim verilerini elle gireceğiz.Toplam hacim ; genel hacim ve doluluk oranı bu verilere göre otomatik hesaplanacak.Sonrasında sevkıyat yapılırken sevkıyat yap dediğimizde bize nasıl ki minimum sevkiyat adedini soruyor ve o seviyenin altında kalan sevkiyatları gerçekleştirmiyorsa benzer şekilde girilen doluluk oranı üzerindeki şubeye sevkıyatı durdurabilir yada azaltabiliriz.Durdurmak basit çözüm olur.Azaltmak hususuna gelince şubenin alabileceği oranda sevkıyat yapılabilir.Mesela program bir şubenin sevkıyatını hazırladı ama hazırlanan sevkıyat hacmi şubenin boş hacminin üzerinde.Yukarıdaki örneği ele alacak olur isek hazırlanan sevkıyat hacmi (Sabit sekmesindeki veriler kullanılarak hesaplanabilir) 2 m3 olsun.Ama şubede (3-1,58=1,42) m3 şeklinde bir bir boş hacim var.Azaltım oranı 1,42/2=0,71 olacaktır.Hesaplanan sevkıyat adetlerini 0,71 ile çarpıp ve YUVARLAMALARI aşağı yönde yaparsak bu şekilde boş hacime uygun bir sevkıyat sağlamış oluruz.Umarım yeterince açık olmuştur.Şimdiden teşekkürler....
 
Son düzenleme:
Katılım
17 Şubat 2010
Mesajlar
226
Excel Vers. ve Dili
excel 2007 türkçe
Altın Üyelik Bitiş Tarihi
03-11-2020
Çalışmayı inceledim.Sanırım belirlediğimiz oranın (%45) altındaki şubelere sevk yapıyor.Çalışma bittiğinde daha verimli yorum ve fikirler oluşturabiliriz. Sadece elinize değil ömrünüze sağlık....Kolay gelsin....
 
Katılım
17 Şubat 2010
Mesajlar
226
Excel Vers. ve Dili
excel 2007 türkçe
Altın Üyelik Bitiş Tarihi
03-11-2020
Hocam hacimlere göre dağılımı bir kenara bırakırsak bugün ben son yolladığınız (sanırım sadeleşmeye gidilen) versiyonu bugün aktif olarak kullanmayı denedim fakat şöyle bir sorunla karşılaştım.Limit sevkıyat miktarı olarak 8 girdiğim halde 8'in altındaki sevkıyatları gerçekleştirdi.Bizim amacımız limit sevkıyat miktarının altında kalan sevkıyatları yapmamak ve burada ki miktarları sevkıyat yapan şubelere yönlerdirmesi.Mesela Gürsel şubedeki -10 fazlalık Güngören (20) ve Bağcılara (5) şubelerine 8 ve 2 olarak dağıtılır. Limit 6 olarak ayarlanınca tüm fazlalık (10) Güngörene sevk edilmesi lazım.Fakat son sürüm bu işlevi gerçekleştirmiyor.Şimdiden teşekkürler...
 
Katılım
17 Şubat 2010
Mesajlar
226
Excel Vers. ve Dili
excel 2007 türkçe
Altın Üyelik Bitiş Tarihi
03-11-2020
slm

Sanırım hiç test etmeden üst üste özellikler eklemekle hata ettik.Zira şube doluluk oranına göre planladığımız çalışmadan önceki (sadeleşmeye gidilen) çalışmadaki aksaklıkları ancak uygulamayı kullanınca fark edebildik.Az önce limit konusundaki eksikliği yazmıştım.Tabi nasıl bir algoritma tasarlandığını bilemediğim için yorum yapmam güçleşiyor.Ama şu dikkatimi çekti şimdi mesela limitin altında kalan 2 şubeden küçük olanı limit altında kaldığı için diğer şubelere dağıtılınca belkide büyük olanı limit üzerine taşıyabilir.Yani sevk limitinin 10 olduğu bir sevkıyatta 8 ve 6 sevk alan iki şube limit altındadır.6 olan limit altında olduğundan mesela 3 ü diğer sevkıyata eklenirse 8 olan sevkıyat 11'e çıkar ki bu durumda limitin üstüne çıkmış olur.

Şimdi kullandığım zaman yaşadığım sıkıntıları maddeler şeklinde yazarsam sanırım çözüm bulmamız kolay olacaktır.

1-Önceleri şubenin kalanı ve şubelerin ihtiyacı güncellenirken farklı renkler kullanılıyordu.Bu tek renge indirgenmiş.2 renk çok daha kullanışlıydı.Ayrıca listenin tamamını sadece renkleri veya sevkıyat şubelerindeki rakamsal değerleri (SEVKİYAT YAPAN ŞUBE DAHİL) temizleyebilen bir seçenek olabilir.

2- Listeleme penceresinde listele dedikten sonra sağ üst köşeden (X) ile pencereyi kapatmamız gerekiyor.Listele dediğimizde bu pencerenin otomatik kapanması sağlanabilir mi ?

3-En önemli ve köklü değişiklik listeleme biçiminde.Örnek olarak bir şubeden sevkiyat yapıldığında listele dediğimizde her şube için ayrı ayrı liste oluşturuyoruz.Buraya kadar mükemmel.Ama bir de tüm şubelerin sevk listesini oluşturacak bir tüm şubeler seçeneği olabilir.(kalan ihtiyaçları güncelle de olduğu gibi). Bu seçenek seçildiğinde sırası ile sevkıyat yapan şubeden diğer şubelere olan listeler tek listede oluşturulabilir mi ?Daha iyi anlatım için örnek excel koyuyorum.

Şimdiden teşekkürler....
 

Ekli dosyalar

hımmmmmmmm

Destek Ekibi
Destek Ekibi
Katılım
10 Temmuz 2011
Mesajlar
601
Excel Vers. ve Dili
2000-2007-2010-2016
slm

yazdırma işlemi-listelemeden sonra çıkma-2 renk güncelleme-temizleme-limit dağıtım düzelmişi ekde...

benim derdim bunlar değil... benim derdim sevkiyat macrosu tam olarak içime henüz sinmedi... bir şeyler benim için halen eksik... işi tam kavrayamışda olabilirim...

yada çok değişken durumlar var... standart bir durum yok.. yada var uyulmuyor...
 

Ekli dosyalar

Katılım
17 Şubat 2010
Mesajlar
226
Excel Vers. ve Dili
excel 2007 türkçe
Altın Üyelik Bitiş Tarihi
03-11-2020
Son güncellemeler için teşekkürler.İçine sinmeme sebebi belki benim düşündüğüm sebeptendir.Şöyleki mesela Gürsel şubede -150 fazlalık olsun.Geri kalan tüm şubelerde de 10 ihtiyaç olsun.Alt limitin 0 olması durumunda Gürselden dağıtım yapılırsa tüm şubeler 10 sevkıyat çıkar ve Gürsel'de de -10 fazlalık kalır.Buraya kadar herşey normal.Lakin alt limiti 11'e çekersek tüm şubelere sevkiyat limitin altında kaldığı için Gürselden sevkıyat çıkmayacağı gibi tüm fazlalık şube de kalacaktır.Şimdi düşünürsek -150 fazlalık var ve ihtiyacı olan onca şube ama sevkıyat yok.Algoritmanın zayıf kaldığı nokta burası...Yada noktalardan bir tanesi...Peki çözüm...

Benim fikrim şudur.Öncelikle normal şekilde dağıtım yapılsın.Daha sonra limit altında kalan şubelere düşen sevkıyat miktarı en düşük olandan başlayarak diğer şubelere dağıtılsın.Dağılım sonucu bazı şubeler alt limitin üzerine çıkabilir.İlk dağıtımdan sonra tekrar limit altında kalanlar kontrol edilir.En küçükten başlamak kaydıyla tekrar dağıtım yapılır.Sevkıyatların aynı olması halinde sağ tarafta kalan şube dağıtılabilir.Bu şekilde bir kaç döngüden sonra limit altında kalanların küçük olanları 0'a çekilirken limite yakın olanlar limit üstüne çıkarılır ve döngü durur.
Örneği uyarlarsak bu algoritmaya hepsi limitin altında kalınca en küçük sevkıyatı arayacak.Tabi hepsi eşit olduğu için en sağdaki şubeye bakacak.Burada Bağcılara gidecek 10 adet ürünü Gürsel şubeye eklesin ve Gürselde kalan -20 oldu.Kalan miktarı (Bağcılar hariç) diğer şubelere dağıtınca diğer şubeler belki limiti aşar ve dağılım gerçekleşir diye düşünmüştüm ki bu sefer ihtiyacın zaten 10 olduğunu ve bu yüzden 11 limitin altında kaldığı için yine hiçbir şubeye sevk yapılmayacağını farkettim.Ama sanırım anlatmak istediğim anlaşılmıştır.Algoritma sevkıyat miktarı küçük olanları büyük olanlara ekleme mantığında işleyecek.Bir şubeye 22 giderken diğer şubeye 3 gitmesinin pek mantığı yok.3 gidecek şubeye hiç gitmesin ve bu durumda gitmeyecek olan 3 diğer şubelere (yüksek sevkıyat gidecek olanlara) dağılsın.Şimdilik bu kadar kolay gelsin...
 
Katılım
17 Şubat 2010
Mesajlar
226
Excel Vers. ve Dili
excel 2007 türkçe
Altın Üyelik Bitiş Tarihi
03-11-2020
Bir de şöyle bir durum var.Listeleme gayet güzel olmuş.Liste 1 seri ;liste 2 paralel gibi olmuş ve gayet de güzel olmuş.Lakin eksiklikler var.Tüm şubeler deyip liste 1 dediğimiz de alt alta listelerden oluşan uzun bir liste kastedmiştim ki bunu örnek liste ile desteklemiştim.Gürsel örneğini alırsak;Gürsel'den sevkıyat yapıldığında liste 1 için; tek tek şube seçiminde seçilen ilgili şubelerin listesi oluşuyor.Misal Gürsel'den Samandıra'ya.Burda da sıkıntı yok ama TÜM ŞUBELER seçeneğini seçip liste 1 yaptığımızda istenilen şey alt alta gelecek uzun bir liste ki liste şu listelerin birleşmesi ile oluşur.

GÜRSEL=======>Okmeydanı
GÜRSEL=======>Seyrantepe
GÜRSEL=======>Kağıthane
GÜRSEL=======>Halkalı
GÜRSEL=======>Samandıra
GÜRSEL=======>Bulgurlu
GÜRSEL=======>Ümraniye .... diye devam eden ve tekli listelerin birşeliminden oluşan uzun bir liste.Tabi bu tekli listelerin uzunlukları da birbirinden farklı olacaktır.Hatta bazı listelerde sevkıyat dahi çıkmayabilir.Bu durumda tekli liste uzun listeye eklense de olur ama eklenmese daha şık olur.
Son olarak liste 2 de tek şube de seçsek tüm şubeler seçeneğini de seçsek tüm şubelerin sevkıyatını tek tabloda gösteriyor(Seçim bir farklılık oluşturmuyor) Ama bu herhangi bir sorun teşkil etmiyor.Kolay gelsin....
 

hımmmmmmmm

Destek Ekibi
Destek Ekibi
Katılım
10 Temmuz 2011
Mesajlar
601
Excel Vers. ve Dili
2000-2007-2010-2016
slm

1. listeyi değiştirip çalışmayı yollarım... hem ekrana dökülsün hem yazıcıya gitsin...

1.liste, yazıcıya gönder dendiğinde şu an ayrı ayrı sayfalar halinde yazıcıya çıkarması gerek arka arkaya... denedinizmi...

2. listede tüm şubeler zaten listede göründüğünden seçimlik kabul etmez...
o butonu farklı bir yere alayım...

kolay gelsin..iyi çalışmalar...
 
Katılım
17 Şubat 2010
Mesajlar
226
Excel Vers. ve Dili
excel 2007 türkçe
Altın Üyelik Bitiş Tarihi
03-11-2020
1.liste, yazıcıya gönder dendiğinde şu an ayrı ayrı sayfalar halinde yazıcıya çıkarması gerek arka arkaya... denedinizmi...
Hocam evet denedim ve oluyor.Ama ben bu listeleri şubelere çıktı olarak değil excel olarak atacağım.Şubelere mail yolu ile atacağım için çıktısını alınca tekrar taramak gerekiyor.O yüzden alt alta uzun liste olabilir mi demiştim...Aklıma bu durumda PDF yazıcılar geliyor.Cute PDF kurdum ve varsayılan yazıcı olarak seçtim bu sefer de ilk sayfayı pdf yaptı diğer sayfalar kaldı.Yazıcıya gitsin komutunda HIZLI yazdır yerine yazıcı tercihlerini seçebildiğimiz ekran gelirse daha kullanışlı olur kanısındayım.Şimdiden teşekkürler...

DÜZELTME:phontom foxit pdf yazıcı indirdim ve kurdum.Yazıcıya yolla dediğimde söylediğiniz şekilde sayfa sayfa döküyor pdf formatında.Bu işimize yarar diye düşünüyorum ama halen neden seri listenlerin alt alta eklenemediğini merak ediyorum.Sonuçta ben bu işlemi manuel olarak C-P ile yapabiliyorum ve Gürsel'den çıkan diğer şubelere sevk olan uzun ve tek excel listesi oluşturabiliyorum.Bunu excel listeleri alt alta koyarak yapabilir diye düşünüyorum.Ama dediğim gibi bir pdf yazcıcı yükleyerek bu işlemim hallettim.ASIL şimdi aklıma başka bir fikir geldi ki hem çok daha pratik hemde çok daha kullanışlı olacak gibi.Paralel listeleme dediğimiz list 2 seçeneğini alt alta koyabilirsek bir tek excel üzerinde hangi şubeden hangi şubeye hangi ürünlerin gideceğinin haritasını tek excel ile çizmiş olacağız.Mesela ismi harita olan 5. bir sekme olsun.İlk paralelel list 2 Gürsel'den diğer şubelere olacaktır.Burada görevi bu listeyi haritanın en üst kısmına kopyalamak olan EKLE butonu koyabiliriz.Sonrasında Okmeydanı'ndan sevkıyat yapıp paralel list2 oluşturunca EKLE butonu ile Okmeydanına ait list 2 haritada Gürsel şubenin list 2 paralel listesinin altına eklenecek.Bu şekilde eklemeler ile tüm şubelerin List2'lerinden oluşan tek bir excel oluşacak ki onda herşeyi bir bakışta görmek mümkün olacak ve ayrıca mesela bulgurlu şubeye en üstten filtreleme yapıp boş hücreleri gösterme dediğimizde o şubeye hangi şubeden hangi ürünler kaçar adet gelecek görebiliyoruz.Umarım anlatabilmişimdir.Şimdiden teşekkürler....

Örnek ekte verilmiştir.Sarı renklendirmeler sadece şubeye dikkat çekmek içindir.
 

Ekli dosyalar

Son düzenleme:

hımmmmmmmm

Destek Ekibi
Destek Ekibi
Katılım
10 Temmuz 2011
Mesajlar
601
Excel Vers. ve Dili
2000-2007-2010-2016
slm

şubeleri ara arkaya sıralayan mail listesi... çalışma ekde...
çizgilerde versiyon farkı problem çıkarırsa çizgileri kaldırırız...
 

Ekli dosyalar

Katılım
17 Şubat 2010
Mesajlar
226
Excel Vers. ve Dili
excel 2007 türkçe
Altın Üyelik Bitiş Tarihi
03-11-2020
Her zamanki gibi mükemmel olmuş.

Liste 1 ==> Sorunsuz....(Tüm şubeler seçilince en son şubeyi listeliyor.)
Liste 2 ==> Yeteri kadar başarılı.Liste 1 gibi görünüm açısından bir liste oluşturmasada peşpeşe listeleri yerleştirebilmesi takdire şayan.
Liste 3 ==> Önceki versiyondan farklı bir taraf göremedim.Çıkış şubesinin tüm şubelere sevkıyatını listeliyor.(Paralel liste olarak isimlendirmiştik.) Ama paralel listeleri alt alta (oluşturuldukça-Örneği önceki mesajda gönderilmişti.) listelemiyor fakat bu büyük bir eksiklik teşkil etmiyor.Zira kopyala-yapıştır yöntemi ile oluşturulan bu listeleri alt alta koyabiliyorum.Sonrasında en üst hücreden filtreleme yapıp boş hücreleri gösterme dediğimde (dolu hücreler kalıyor) o şubeye gidecek ürünler kalıyor.Liste 2 nasıl bir şubeden hangi şubelere ve hangi ürünlerin sevkıyatının yapılacağını gösteriyorsa ; liste 3 de bu şekilde, bir şubeye hangi şubelerden hangi ürünlerin kaçar adet geleceğini gösterir.

Algoritmayı detaylı inceleme şansım olmadı.İlk fırsatta inceleyip düşüncelerimi paylaşırım.
 

hımmmmmmmm

Destek Ekibi
Destek Ekibi
Katılım
10 Temmuz 2011
Mesajlar
601
Excel Vers. ve Dili
2000-2007-2010-2016
slm

liste1 in, tüm şubeler için çalışma biçimi, 1 den 17 ye kadar şubeyi tek tek yazması... yani birini yazdırıp sayfayı temizleyip yazıcıya gönderip diğerini yazdırıp sonra onuda göndermesi şeklinde... bir yerde toplamıyor... bu nedenle yazıcıya gitmediği durumlarda sayfaya en sonuncuyu yazılmış görünüyor... aslında hepsini yazıyor fakat yazıcıya durumlarda sayfada en sonuncu yazılan görünüyor... burayı şimdilik seçimlik kullanın...
şimdi yazdırma işlemlerinde her şube için satır sayıları farklı farklı... başlık ve çizelge olması, birde sayfa kontrolü olması sebebiyle macroda uzun bir kontrol kotu geliştirmek gerek... ilerde bu kontrolu sağlayıp başka bir zemine kaydeden aynı çizelgeden bir program yaparım... bu nedenle liste 2 sade kaldı... geçici olarak yapıldı...
liste 3 ise oda demin bahsettiğim sayfa detaylarından dolayı kontrol durumlu bir yapı mevcut... liste 3 durumu daha detaylı... onunda başka bir yerde depolanıp oradan yollanması gerek...

her basım belirli bir düzende kalıpda saklanmalı... bu saklanan kısım mail ile yollanabilmeli ve incelenebilmeli... aynı zamanda listelenmeli... böyle bir düzenleme olacak...
 
Katılım
17 Şubat 2010
Mesajlar
226
Excel Vers. ve Dili
excel 2007 türkçe
Altın Üyelik Bitiş Tarihi
03-11-2020
Hocam bu excel bu hali ile dahi çok kullanışlı.Yani listeleme aşamaları yeteri kadar verimli.Liste 1 'in sırası ile yazdırdığını anlamıştım.Bugün exceli kullanırken bir ihtiyaç hasıl oldu ki o da şu....

Problemi yine örnek ile anlatmak daha anlaşılır kılacaktır sanırım.Gürsel şubede - 190 fazlalık var ve diğer şubelerin az miktarda ihtiyacı.Okmeydanı 10 ;Seyrantepe 15 ve Kağıthane 20 ihtiyaçlı olsun.
Hepsini dağıtsanız dahi 45 ediyor ve Gürsel şubede halen -145 fazlalık kalıyor.Bu durum aslında mantıklı ama homojen bir dağılım değil.Sadece bu ürün için diğer şubeler ellerindekini tükettiğinde Gürsel'de yine aşırı fazlalık ve şubelerde ihtiyaç doğacağı için ikinci bir sevkıyata iht,yaç duyulacaktır.Ama dağılım şöyle olsa idi Okmeydanı 20 ;Seyrantepe 30 ve Kağıthane 40 bu ihtiyaç daha uzun vadede oluşacaktı.Hatta Okmeydanı 30 ;Seyrantepe 45 ve Kağıthane 60 olsa süreç daha da uzardı.60+45+30=135 eder ki Gürsel'deki fazlalık bunu karşılamaya rahatça yeter.Peki çözüm?

Burada (Algoritmasını tam bilmeden konuşuyorum belki işi zorlaştırmış olabilirim.Eğer algoritmanın nasıl çalıştığını bilseydim algoritmaya en uygun ve sade çözüm üzerine yorum yapabilirdim.) aklıma iki alternatif geliyor.Sevkıyat oluştururken oluşan kat sayı çarpanına el ile müdahale etmek.Mesela
1,22 oluşmuş ise o üründe sevkıyatı artırmak amaçlı onu elle 2.3 yaptıktan sonra yenile gibi bir buton ile (sevkıyat yapımından farklı olarak yeniden katsayı üretmeden) elle girilen katsayıları ve müdahale edilmeyen katsayıları kullanarak yeniden bir dağılım yapması (ki bu durumda müdahale edilmeyen dağılımlar değişmeyecektir)

İkinci alternatif olarak excel bu işlemi bizim yerimize kat sayıyı şişirerek kendi yapsın.Sınır olarak toplam fazlalığın dağıtılacak toplam miktara oranı alınabilir.Örnek üzerinden gidersek;

Şişirme katsayısı=190/45=4,2 olacaktır ki biz aşağı yuvarlamalıyız netice 4 olu.İlk dağıtımın ardından
aşırı fazlalık kaldığı için turbo dağıtım (Bu ismi ben uydurudum :D) moduna geçersek yeni dağıtım oranları 40 ;60 ve 80 olacaktır.Burda dikkat edilmesi gereken 180<190 olmasıdır.Şişirme katsayısını oranlama ve küsüratlı sayıyı yuvarlama yaparak bulabileceğimiz gibi 190/45 oranını her döngüde kontrol ettirerek de bulabiliriz.Şöyle ki ;

190/45 >=1 EVET dağıtımı bir kat artır;
190/90 >=1 EVET dağıtımı bir kat artır;
190/135 >=1 EVET dağıtımı bir kat artır;
190/180 >=1 EVET dağıtımı bir kat artır;
190/225 >=1 Hayır dağıtımı bitir DUR.

gibi bir döngü oluşturulabilir.

Yalnız burada dikkatimi bir şey çekti.Tüm şubelere fazlasıyla dağılım yapılırken (sadece aşırılık olan ürünlerde-ki bunu belirlemek için aşırılığı tanımlayan bir şart öngörülebilir mesela dağıtılacak miktarın (ihtiyac duyulan) en az 2 katı fazlalık gibi ) dağılımı yapan şubenin elinde üründen az kalıyor.Örnek üzerinden gidecek olursak söz konusu ürüne 10 adet ihtiyaç duyan Okmeydan'ına 40 ; 15 adet ihtiyaç duyan Seyrantepe'ye 60 ve 20 ihtiyaç duyan Kağıthane'ye 80 adet gönderiyoruz.Sırası ile ellerinde 30 ;45 ve 60 adet fazlalık oluşurken Gürsel şubede sadece 10 adet fazlalık kalıyor.Bu dengesizliği ortadan kaldıracak şekilde bir formül geliştirmeliyiz.Şu anda aklıma şu geliyor.Yukarıda bahsettiğim döngüyü erken bitirebilmek için 1 yerine 1,5 veya 2 yazabiliriz.Yada AND mantığı ile daha ince bir ayar yapabiliriz şöyle ki ;
n=3 dağılım yapılan şube sayısı olmak üzere

190/45 >=1 ve (190-45)>45/n EVET dağıtımı bir kat artır;
190/90 >=1 ve (190-90)>90/n EVET dağıtımı bir kat artır;
190/135 >=1 ve (190-135)>135/n EVET dağıtımı bir kat artır;
190/180 >=1 ve (190-180)>180/n Hayır dağıtımı bitir DUR.

yapılarak çıkış şubesindeki fazlalık ve varış şubelerine düşen ortalama dağıtım mukayese edilerek bir döngü oluşturulabilir.Dikkat edilirse döngü bir adım önce sonlanmıştır.Hatta ilk önermeye gerek yok ikinci önerme başlı başına bir döngü için yeterli sanırım.Sizin önerileriniz varsa yapmak istenen sanırım anlaşılmıştır.Şimdiden teşekkürler...Bu arada bu sistem hali hazırdaki sevkıyat dağılımına alternatif bir seçenek olarak konursa (Turbo dağıtım gibi) daha faydalı olacağı kanaatindeyim....
 

hımmmmmmmm

Destek Ekibi
Destek Ekibi
Katılım
10 Temmuz 2011
Mesajlar
601
Excel Vers. ve Dili
2000-2007-2010-2016
slm

burada ürüne özgü bir durum oluşmuş...
macrolar bir eylemi tüm ürün için aynısını uygulamakta...
birine uygulanan tümü içinde geçerli oluyor... dolayısıyla bir ürün için istenmeyen diğer ürün için istenirse macroya şart konmalı... şart eylemi çoğalırsa ürün bilgisine gerek duyulmaya başlanacak...
bazı hesaplamalar devreye gireceği zaman diğer ürünlerin sayısal durumları ilede dikkate almak gerek... 190 sayısı için geçerli olacak durum, diğer sayısal işlemler içinde geçerlimi gibi. 190 için isteneni 50, 60 85 içinde uygulanmalı... sevkiyat aynı anda tüm ürünlere uygulanıyor...

katsayı oran üzerinden şu an macro her ürün için şu işlemi uyguluyor...
önce fazlalık rakam varmı bakıyor.. varsa alıyor... -190 diyelim...
sonra sevk edilecek şubelerin ihtiyaçlarını büyükten küçüğe kadar sıralıyor.. diyelimki sırayla 10,15,20,5 olsun... bunu 20,15,10,5 durumuna getiriyor... bu arada şube sıralarınıda bu duruma göre değiştiriyor...
sonra limit ayarı yapıyor...bir limit giriyoduk... diyelimki limit 6 olsun...
sevkiyatdaki 5 için limit altında olduğundan o şubenin ihitiyacını yok kabul ediyor..
sonra bu rakamları topluyor... 20+15+10=45
bu üründe sayısal duruma göre sevk katsayısını buluyor ...=190/45=4,22
ihtiyaç sayılarına göre yeni bir sevkiyat sayısı belirliyor... yani falanca şubenin ihitiyacı oranında yeni bir sayı üret...
böylece yeni dağıtılacak ürün sayılarınıda belirtiyor...
20 ihtiyaç için =20*4,22=85
15 sayısı için =15*4,22=63
10 sayısı için =10*4,22=42
böylece 190 sayısını macro dağıtmaya çalışyor...
(fakat bu durum fazlalık sevkiyat olacağından biz bu durumu sonradan değiştirdik dedikki ihtiyaca indirsin... önceden yeni bulunan oran sayılarına göre sevk veriyordu...hatta bu durumu yazmıştım... hangisi mantıken iyi olur diye)
bu son durumdan dolayı macro şubenin ihtiyacına göre kontrolunü yapıp indiriyor... yani kendi ihtiyacına göre sevkiyatı yapıyor...
sevkiyat için en büyük ihityacı alıp kalan varmı yokmu hesabını uyguluyor
sonra bir sonraki ürünü sonra bir sonraki ürünü ...böylece sevkiyatı ürünün kendi katsayısından hareketle bitirip, işlemleri her ürün için aynı olarak tekrarlıyor...

burada sevk eden için bir limit koyalım %10 diyelim... bu 190*%10=19eder... 19 kadar kalsın 170 ini dağıt diyenbiliriz...
ama bu 50 fazlalık dağıtımı içinde geçerli olacaktır... onun içinde 50*%10=5
yani 5 tane bırak diğerlerini dağıt olacaktır
elbettte ihtiyaç 50 den fazla ise 50 nin tamamı verilecektir..veya 190 nın tamamı...

şu anki tasarıma böyle bir uygulama yapılabilir...
 
Katılım
17 Şubat 2010
Mesajlar
226
Excel Vers. ve Dili
excel 2007 türkçe
Altın Üyelik Bitiş Tarihi
03-11-2020
Tekrar selam...
Şimdi makroların tüm ürünlerde aynı işlemi yaptığına ve ürün şartları artarsa ürün bilgisi istediğine işaret etmişsiniz.Sanırım ürün fazlalığına bir yüzde ile sınır koyarsak problem çözülür demişsiniz.Bu yüzdeyi şu şekilde belirlememiz mümkün mü ?

n sevkıyat yapılacak şube sayısı olmak üzere ;

Dağıtım yapan şube elindeki fazlalığın n/(n+1) oranını dağıtsın.Örnek olarak;
Gürsel elindeki 180 fazlalığı 5 şubeye dağıtacak ise 5/6 oranını dağıtsın.Yani 180*5/6=150 adet dağıtacak 30 adet kalacak.Tabi bu 150 adeti eski sisteme uygun olarak ihtiyaçlar ile doğru orantılı dağıtacak.
Ters açıdan bakarsak 1/(n+1) şubede kalacak şekilde fazlalık dağıtılsında diyebiliriz.
Bunu illa ki yüzde olarak ifade edeceksek % 100 * n/(n+1) olacaktır.Burda püf nokta dağıtım yapılacak şubelerin (pozitif ihtiyaç veren) sayısını tespit edebilmek.Bu sayı değişken olacağı için her ürün için farklı oran çıkması muhtemel.Şimdiden teşekkür ediyor yorumlarınızı bekliyorum...
 

hımmmmmmmm

Destek Ekibi
Destek Ekibi
Katılım
10 Temmuz 2011
Mesajlar
601
Excel Vers. ve Dili
2000-2007-2010-2016
slm

ekranının solunda sevk oranı giriliyor...

katsayı=(fazlalık miktar / şube ihtiyaçlar toplamı)*sevk oranı

=n1 şube ihtiyaç * katsayı
=n2 şube ihtiyaç * katsayı
=n3.......................
............................
 

Ekli dosyalar

Üst