• DİKKAT

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

Maksimum Bulma

Katılım
27 Nisan 2009
Mesajlar
42
Excel Vers. ve Dili
2007 Türkçe
Merhabalar,
Ekteki excel dosyamda A ve B kolonlarında değerler var epeyce fazla sayıda. Görüldüğü gibi A kolonlarındaki veriler tekrar etmekte. B kolonundada değerler var. A kolonundaki verilerin değerleri olan B kolonundaki sayıların otomatik olarak maksimum değerlerini alıp yan tarafta tablo oluşturmak istiyorum.
Yardımcı olabilirseniz çok sevinirim.

ek dosya:http://s3.dosya.tc/server10/u3lhu4/deneme.xlsx.html
 
Merhaba.

Verilerinizin 1000'inci satıra kadar yer aldığı varsayılmıştır.
Gerçek belgenizdeki son dolu satır sayısı farklı ise 1000 sayılarını onunla değiştirin.

Eğer son dolu satır belirsiz/değişken ise formüllerdeki;
-- $A$2:$A$1000 yerine $A:$A,
-- $B$2:$B$1000 yerine $B:$B yazılabilir.
(Ancak böyle yaparsanız formülleriniz biraz yavaş çalışacaktır.)

-- F2 hücresine aşağıdaki birinci dizi formülünü,
-- G2 hücresine de ikinci dizi formülü
uygulayın ve boş sonuç elde edinceye kadar aşağı doğru kopyalayın.
.
Kod:
=EĞER(İNDİS($A$2:$A$[COLOR="Red"]1000[/COLOR];KAÇINCI(0;EĞERSAY($F$1:F1;$A$2:$A$[COLOR="Red"]1000[/COLOR]);0))=0;"";EĞER(EHATALIYSA(İNDİS($A$2:$A$[COLOR="Red"]1000[/COLOR];KAÇINCI(0;EĞERSAY($F$1:F1;$A$2:$A$[COLOR="Red"]1000[/COLOR]);0)));"";İNDİS($A$2:$A$[COLOR="Red"]1000[/COLOR];KAÇINCI(0;EĞERSAY($F$1:F1;$A$2:$A$[COLOR="Red"]1000[/COLOR]);0))))

=EĞER(F2="";"";MAK(EĞER($A$2:$A$[COLOR="red"]1000[/COLOR]=F2;$B$2:$B$[COLOR="red"]1000[/COLOR])))

[FONT="Arial Narrow"][COLOR="Blue"]Formüller [B]dizi formülü[/B] olup hücreye [B][COLOR="Red"]CTRL+SHIFT+ENTER[/COLOR][/B] ile girilmelidir.
İşlem doğru yapılmışsa formül [B]kendiliğinden [COLOR="red"]{[/COLOR]...[COLOR="red"]}[/COLOR][/B]  gibi köşeli parantez arasına alınır.[/COLOR][/FONT]
 
Merhabalar,
Alternatif olsun.
F2 için;
Kod:
=İNDİS(A$2:A$30;KAÇINCI(;EĞERSAY(F$1:F1;A$2:A$30);))
[COLOR="Blue"]Formül dizi formülüdür.CTRL+SHIFT+ENTER ile tamamlayınız.[/COLOR]

G2 için;
Kod:
=BÜYÜK(İNDİS((A$2:A$30=F2)*B$2:B$30;);1)
[COLOR="blue"]Formül dizi formülüdür.CTRL+SHIFT+ENTER ile tamamlayınız.[/COLOR]

Saygılar,
Şeşen
 
Tekrar merhaba.

Bir de alternatif cevap yazayım dedim.

Önceki cevabımda belirttiğim dizi formülü yöntemi yerine yardımcı sütun kullanmak isterseniz
aşağıdaki şekilde de aynı sonucu alırsınız.

-- C2 hücnesine (yardımcı sütun olarak kullanılacak) uygulayın ve liste boyunca kopyalayın.
Kod:
=EĞER(EĞERSAY($A$2:A2;A2)=1;MAK($C$1:C1)+1;"")
-- F2 hücresine (boş sonuç elde edinceye kadar aşağı doğru koplayan)
Kod:
=EĞER(MAK($C:$C)<SATIR()-1;"";KAYDIR(A$1;KAÇINCI(SATIR()-1;$C:$C;0);0))
-- G2 hücresine (aşağı doğru kopyalayın)
Kod:
=EĞER(F2="";"";MAK(DOLAYLI("B"&KAÇINCI(SATIR()-1;$C:$C;0)&":B"&EĞER(EHATALIYSA(KAÇINCI(SATIR();$C:$C;0));KAÇINCI("ZZZ";$A:$A;1);KAÇINCI(SATIR();$C:$C;0)))))
 
çok teşekkür ederim cevaplar için tam istediğim gibi oldu.
verdiğiniz formülleri makroya bağladım ve makromda şöyle bir satırım var

Range("p4").Select
Selection.AutoFill Destination:=Range("p4 : p7500"), Type:=xlFillDefault
Range("p4").Select

buradaki p4 : p7500 rangeinin 7500 yazan kısmının sayısını T2 hücresinden alsın istiyorum. Yani T2 hücremde 2340 yazarsa p4 : p2340 range ini alsın.

yardımcı olursanız çok sevinirim.
 
=MAK(A:A) gibi bir formülle otomatik olarak bulabilrisiniz.

bu formülü yazdıgınız satır; sectiğiniz aralıkta olmamalıdır. a1 hücresine yazacaksanız mesela aralık A2:A olmalıdır.
 
Geri
Üst