• DİKKAT

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

değişik bir düşey ara

Katılım
12 Haziran 2014
Mesajlar
4
Excel Vers. ve Dili
MS Excel 2010
STOK KODU-STOK ADI-FİRMA-FİYAT
101 ÜRÜN 1 FİRMA1 2
101 ÜRÜN 1 FİRMA2 3
101 ÜRÜN 1 FİRMA3 4
101 ÜRÜN 1 FİRMA4 5
202 ÜRÜN2 FİRMA5 6
202 ÜRÜN2 FİRMA6 1
202 ÜRÜN2 FİRMA7 8
202 ÜRÜN2 FİRMA8 0




101 FİRMA1 FİRMA2 FİRMA3 FİRMA4
2 3 4 5

202 FİRMA5 FİRMA6 FİRMA7
6 1 8



Değerli üstatlar;

stok kodunu değer olarak girdiğimde yukarıdaki gibi dizilmiş aynı stok koduna sahip bilgilerin aşağıdaki gibi yanyana hangi firmadan hangi fiyat veriliyoru gösteren şekle getirmek istiyorum.

yardımlarınızı rica ediyorum.

herkese iyi günler.
 
Kuvari üstat;
ne kadar teşekkür etsem az herhalde, gerçekten bilgi kadar zenginlik yok.
şimdi yaptığınız formülü inceleyip hakkında bir kaç tutorial izleyip anlamaya çalışacağım. dizi formüllerini kullanmama rağmen net kurallarını mantığa oturtamadım. min if index match falan kullanıyorum ancak bu biraz komplike geldi.
bu arada f1 hücresinde input olarak gireceğim yerde bu formül duruyordu. direk üstüne 101 stok numarasını yazınca diğerleri etkilenmiyor. bu formül ne yapıyor?

=IFERROR(SMALL(IF(COUNTIF(INDIRECT("A2:A"&ROW($2:$20));$A$2:$A$20)=1;$A$2:$A$20);ROW(A1));"")

bu arada bende derhal altın üye olacağım bu kadar yararlı bir paylaşım sitesi daha görmedim. bunun yanı sıra sizin kadar da bu işin ehli olabilmek için sitedeki örnekleri incelemek dışında array(dizi) formüllerinin mantığını ve kurallarını daha net anlamak için herhangi bir kaynak önerir misiniz?
 
Sayın akkerman merhaba,

Sözlü anlatımım iyidir ama yazılı anlatımda berbatım.

Aslında bu formülde stok değerleri sayısal ve alt alta olduğu için kullandım,

Kod:
=EĞERHATA(KÜÇÜK(EĞER(EĞERSAY(DOLAYLI("A2:A"&SATIR( $2:$20));$A$2:$A$20)=1;$A$2:$A$20);SATIR(A1));"")

başvurudaki satır numarasına göre sonuçların gelmesini isterseniz formülde ufak bir değişiklik yapmak daha doğru olacaktır.

Kod:
EĞERHATA(İNDİS($A$1:$A$20;KÜÇÜK(EĞER(EĞERSAY(DOLAYLI("A2:A"&SATIR($2:$20));$A$2:$A$20)=1;SATIR($A$2:$A$20));SATIR(A1)));"")

Kod:
EĞERSAY(DOLAYLI("A2:A"&SATIR($2:$20));$A$2:$A$20)=1;SATIR($A$2:$A$20))
hücre aralığında başvuruyu ve ölçütü bir satır ilerleterek çıkan sonuç 1'e eşitse belirlemiş olduğum sayı aralığında,bunuda satır fonksiyonu ile yapıyorum, bir değer veriyor. Verilen ilk değer her zaman en küçük değer olacağı için ve en küçük değerde başvuruda en üstte olacağı için küçük formülünü kullanarak,
Kod:
EĞERSAY(DOLAYLI("A2:A"&SATIR($2:$20));$A$2:$A$20)=1;SATIR($A$2:$A$20))
formülünden elde ettiğim satır sıra numaralarından oluşan dizini kullanarak, küçük formülünde en küçük satır numarasını satır(a1) ile istiyorum.satır(a1)=1'dir.
Kod:
KÜÇÜK(EĞER(EĞERSAY(DOLAYLI("A2:A"&SATIR($2:$20));$A$2:$A$20)=1;SATIR($A$2:$A$20));SATIR(A1)))
ile en küçük satırı istedim, sonra onu indis'e sokarak indiste dizi alanı olarak kodların bulunduğu alanı seçiyorum, indis'in satır sayısı yazan yere ise KÜÇÜK(EĞER(EĞERSAY(DOLAYLI("A2:A"&SATIR($2:$20));$A$2:$A$20)=1;SATIR($A$2:$A$20));SATIR(A1))) formülü geliyor. Bu şekilde stok kodu alanında eğersay'da 1 kere sayılan satır numarasına göre en küçük olan değer geliyor.Aşağı doğru kopyaladıkça eğersay'da 1 defa geçen satır numarası 2.büyük olan kısacası başvurudaki daha aşağıdaki değerler gelecektir.
 
Geri
Üst