Çözüldü Referansa Göre En Yüksek Stokluyu Bulma

ozgur_ayaz

Normal Üye
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Herkese merhaba

Aşağıdaki sarı alanlarda yazan durumlara göre formül yazmam gerekiyor ama dizi formülü gerektiği için yine yapamadım. İlgili Excel'i dosya olarak ekledim

Amacım (I1 hücresi için): M1 mağazasının referans mağazaları arasında (referans sayfasında), en yüksek MALZEME1 stoğuna sahip mağazayı bulmak. Daha sonra 2. en yüksek stoklu, 3.... diye götürmek.

Yardımlarınız için şimdiden teşekkürler. Bu çalışmayı mağazalar arası transfer için kullanmak istiyorum.

1647353311799.webp
 

Ekli dosyalar

Moderatörün son düzenlenenleri:
Selamlar,
Üzerinde çalışmışken ekleyeyim istedim.
Yanlış anlamış da olabilirim.

1647361730072.webp


Formül DİZİ Formüldür.
Resimde görüldüğü üzere, M2 mağazasının bulunduğu satırda Stok5 ve Stok 6 değerlerine karşılık olarak "0" değerleri mevcut. Anlamı, referans listesinde, M2 ye ait 4 adet Mağaza vardır. 5. ve 6. mağazalar olmadığından "0" yazılmakta.

0 yerine BOŞ yazılsın isterseniz
1 - Görülen uzun formülü 2 defa çalıştırarak
=EĞER(formül = ""; ""; formül )
şeklinde kullanabilirsiniz.... (Formül, CTRL + SHIFT + ENTER ile girilmeli...)
2 - SARI alanı seçin.... SAYI Biçimlendirme >>> İsteğe uyarlanmış >>> Formül kısmına [=0];Genel yazın.
3 - Formülle yapacaksanız, formülü
=METNEÇEVİR(formül ; ";;;@")
şeklinde yazıp, CTRL + SHIFT + ENTER ile girerek, sağa ve aşağıya kopyalarsınız....
 

Ekli dosyalar

Moderatörün son düzenlenenleri:
Selamlar,
Üzerinde çalışmışken ekleyeyim istedim.
Yanlış anlamış da olabilirim.

1647361730072.webp

Formül DİZİ Formüldür.
Resimde görüldüğü üzere, M2 mağazasının bulunduğu satırda Stok5 ve Stok 6 değerlerine karşılık olarak "0" değerleri mevcut. Anlamı, referans listesinde, M2 ye ait 4 adet Mağaza vardır. 5. ve 6. mağazalar olmadığından "0" yazılmakta.

0 yerine BOŞ yazılsın isterseniz
1 - Görülen uzun formülü 2 defa çalıştırarak
=EĞER(formül = ""; ""; formül )
şeklinde kullanabilirsiniz.... (Formül, CTRL + SHIFT + ENTER ile girilmeli...)
2 - SARI alanı seçin.... SAYI Biçimlendirme >>> İsteğe uyarlanmış >>> Formül kısmına [=0];Genel yazın.
3 - Formülle yapacaksanız, formülü
=METNEÇEVİR(formül ; ";;;@")
şeklinde yazıp, CTRL + SHIFT + ENTER ile girerek, sağa ve aşağıya kopyalarsınız....
Elinize sağlık. Burada ben not olarak belirtmeyi unutmuşum. 0 stok olan (stok kayıtlarında ilgili malzeme stoğu olmayan) mağazaların gelmesini istemiyorum. Bu 0' stoğu olanlar görünmesini, 5'den az stoğu olanlar görünmesin şeklinde modifiye etmem gerekebilir . Buna göre sonradan değiştirebileceğimiz bir ek formül yazma şansımız olur mu.
 
Moderatörün son düzenlenenleri:
Formül hem Dizi Formül ve hem de uzun bir formül...
Ek kriterler ekleyince, aynı formül parçalarını en az 2 defa daha fazladan yazıp çalıştırmak gerekecek. Bu da önemli performans kaybı..
Diğer taraftan, dosyanızda satır sayıları az. Ama gerçekte az olacağını bilmiyorum. Satır sayıları artmaya başladıkça kasılmalar / yavaşlamalar olması da çok muhtemel...

Bu durumda çözümü makroda aramak çok daha uygun olacaktır. Ya da dizi formüldeki tekrarlanan formül parçacıklarını kullanarak yardımcı alanlar yapıp, bu yardımcı alanları kullanarak sonuca gitmek de bir uygun çözüm olabilir.

Şahsen yerinizde ben olsam ek kriterleri devreye almazdım... Belki de (gerçek dosyanın durumuna göre tabi ki) resimde göreceğiniz biçimde kullanmayı denerdim.
(Resimde göreceğiniz formül de dizi formüldür.)



1647426182419.webp
 
Moderatörün son düzenlenenleri:
Formül hem Dizi Formül ve hem de uzun bir formül...
Ek kriterler ekleyince, aynı formül parçalarını en az 2 defa daha fazladan yazıp çalıştırmak gerekecek. Bu da önemli performans kaybı..
Diğer taraftan, dosyanızda satır sayıları az. Ama gerçekte az olacağını bilmiyorum. Satır sayıları artmaya başladıkça kasılmalar / yavaşlamalar olması da çok muhtemel...

Bu durumda çözümü makroda aramak çok daha uygun olacaktır. Ya da dizi formüldeki tekrarlanan formül parçacıklarını kullanarak yardımcı alanlar yapıp, bu yardımcı alanları kullanarak sonuca gitmek de bir uygun çözüm olabilir.

Şahsen yerinizde ben olsam ek kriterleri devreye almazdım... Belki de (gerçek dosyanın durumuna göre tabi ki) resimde göreceğiniz biçimde kullanmayı denerdim.
(Resimde göreceğiniz formül de dizi formüldür.)



1647426182419.webp
Teşekkürler. Formülü ekrandan almak uzun sürecek, yazılı hali var mı acaba 🙂
 
Moderatörün son düzenlenenleri:
Teşekkürler. Formülü ekrandan almak uzun sürecek, yazılı hali var mı acaba 🙂

=EĞERHATA(METNEÇEVİR(İNDİS(KAYDIR(referans!$C$2;KAÇINCI($A2;referans!$A$2:$A$11;0)-1;;1;SÜTUNSAY(referans!$C$1:$H$1));KAÇINCI(BÜYÜK(ÇOKETOPLA(stok!$E$2:$E$23;stok!$A$2:$A$23;KAYDIR(referans!$C$2;KAÇINCI($A2;referans!$A$2:$A$11;0)-1;;1;SÜTUNSAY(referans!$C$1:$H$1));stok!$D$2:$D$23;$E2)-SÜTUN(referans!$C$1:$H$1)/10^3;SÜTUNSAY($I$1:I$1));ÇOKETOPLA(stok!$E$2:$E$23;stok!$A$2:$A$23;KAYDIR(referans!$C$2;KAÇINCI($A2;referans!$A$2:$A$11;0)-1;;1;SÜTUNSAY(referans!$C$1:$H$1));stok!$D$2:$D$23;$E2)-SÜTUN(referans!$C$1:$H$1)/10^3;0));";;;@");"")&DAMGA(10)&"("&EĞERHATA(1/(1/BÜYÜK(ÇOKETOPLA(stok!$E$2:$E$23;stok!$A$2:$A$23;KAYDIR(referans!$C$2;KAÇINCI($A2;referans!$A$2:$A$11;0)-1;;1;SÜTUNSAY(referans!$C$1:$H$1));stok!$D$2:$D$23;$E2);SÜTUNSAY($I$1:I$1)));"–")&")"

Destan gibi formül olmuş.
Evet....
Formülü bir de açık haliyle yukarıda yazınca hakikaten "tren gibi" upuzun bir formül oldu...
 
=EĞERHATA(METNEÇEVİR(İNDİS(KAYDIR(referans!$C$2;KAÇINCI($A2;referans!$A$2:$A$11;0)-1;;1;SÜTUNSAY(referans!$C$1:$H$1));KAÇINCI(BÜYÜK(ÇOKETOPLA(stok!$E$2:$E$23;stok!$A$2:$A$23;KAYDIR(referans!$C$2;KAÇINCI($A2;referans!$A$2:$A$11;0)-1;;1;SÜTUNSAY(referans!$C$1:$H$1));stok!$D$2:$D$23;$E2)-SÜTUN(referans!$C$1:$H$1)/10^3;SÜTUNSAY($I$1:I$1));ÇOKETOPLA(stok!$E$2:$E$23;stok!$A$2:$A$23;KAYDIR(referans!$C$2;KAÇINCI($A2;referans!$A$2:$A$11;0)-1;;1;SÜTUNSAY(referans!$C$1:$H$1));stok!$D$2:$D$23;$E2)-SÜTUN(referans!$C$1:$H$1)/10^3;0));";;;@");"")&DAMGA(10)&"("&EĞERHATA(1/(1/BÜYÜK(ÇOKETOPLA(stok!$E$2:$E$23;stok!$A$2:$A$23;KAYDIR(referans!$C$2;KAÇINCI($A2;referans!$A$2:$A$11;0)-1;;1;SÜTUNSAY(referans!$C$1:$H$1));stok!$D$2:$D$23;$E2);SÜTUNSAY($I$1:I$1)));"–")&")"


Evet....
Formülü bir de açık haliyle yukarıda yazınca hakikaten "tren gibi" upuzun bir formül oldu...
Formül gerçekten güzel olmuş sizi de uğraştırıyorum ama bana: "0 olanları/Yada 5'in altında olanları göstermemesi lazım" tarzında bir formül lazım 😔 Envanterden dolayı, raporu atacağım kişilerin stok sayılarını görmemesi gerekiyor. Ben onlara "Şu mağazalarda stok var - 5 üzerinde stok var" diye raporu atacağım.
 
Konuyu başlatan
Normal Üye
Katılım
Konu Bilgi
Durum
Çözüldü 
Forum
Excel Formül Soruları
Başlangıç tarihi
Son yanıt tarihi
Cevaplar
12
Üst