• DİKKAT

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

Yinelenen Verilerden İlk Olanı Alma

Katılım
21 Ekim 2018
Mesajlar
78
Excel Vers. ve Dili
2016 MSO Standard
Merhaba,

Ekli örnek dosyada liste kısmında bir ürün-depo ikilisine ait veriler mevcut. Ben Sıralama kısmında örneğini verdiğim şekilde yinelenen ürün-depo koşullarına göre "sadece ilk veriyi" çekecek bir formül yazmak istiyorum. (Yeşil vurgulu satırları alacak fakat "x" işaretli satırları almayacak).


Şimdiden teşekkürler.
 
Merhaba,

I4 hücresine yazıp dizi formülüne çevirdikten sonra yana ve alt satırlara kopyalayınız.
Kod:
=EĞERHATA(İNDİS(B$4:B$100;KÜÇÜK(EĞER(SIKLIK(EĞER($B$4:$B$100<>"";KAÇINCI("~"&$B$4:$B$100&"|"&$C$4:$C$100;$B$4:$B$100&"|"&$C$4:$C$100&"";0))
;SATIR($B$4:$B$100)-SATIR($B$4)+1);SATIR($B$4:$B$100)-SATIR($B$4)+1);SATIRSAY($I$4:I4)));"")
 

Ekli dosyalar

Verilen formülde KÜÇÜK yerine BÜYÜK yazınca olacaktır sanırım.
 
Yukarıda soru sahibinin dosyasında BÜYÜK yazınca sonuç üretiyor.
Sizin dosyanıza formül uyuşmuyor olabilir mi?
 
Yukarıda soru sahibinin dosyasında BÜYÜK yazınca sonuç üretiyor.
Sizin dosyanıza formül uyuşmuyor olabilir mi?
Olabilir fakat sorunun linkinde "Küçük" için verdiğim örnek dosyada büyük sıralaması yapmıyor; yani en son olanı almıyor. Aşağıda en son satırda ürün1-depo1-159-100 mevcut fakat ürün1-depo1 ikilisi için örnek dosyaya göre 153-103 olmalı


Ürün1

Depo3

155​

105​

Ürün2

Depo2

154​

104​

Ürün2

Depo1

152​

102​

Ürün1

Depo2

151​

101​

Ürün1

Depo1

159​

100​
 
Genellikle üyelerimiz yardımcı sütun olmadan çözümleri yeğliyorlar. Bu da çoğu zaman uzun ve karmaşık dizi formüllerinin ortaya çıkmasına sebep oluyor. Bu bağlamda @Ömer beyin çözümü daha profesyonel bir kurgudur.

Ben sadece durumu biraz basite indirgeyerek çözüm yoluna gittim. Durum bundan ibarettir.
 
Konuyu takip ettim fakat iş yoğunluğu nedeniyle çok fazla inceleyemedim.

Sayın @Korhan Ayhan 'ın söylediği gibi konu karışık olunca, tek formül olsun diye formülün içeriği de karışıyor.

Bu arada diğer formülde Büyük fonksiyonu işlemi sadece tersine çevirir, son değeri almaz. Yani listelenen değerlerin sırası değişir, fakat listenin içeriği aynı kalır.

İlk aklıma gelen yapı:
Dizi formülüdür.

Kod:
=EĞERHATA(ARA(2;1/((KAÇINCI("~"&$B$4:$B$100&"|"&$C$4:$C$100;$B$4:$B$100&"|"&$C$4:$C$100&"";0)*($B$4:$B$100<>""))=KÜÇÜK(EĞERHATA(KAÇINCI(SATIR($B$4:$B$100)-SATIR($B$4)+1;KAÇINCI("~"&$B$4:$B$100&"|"&$C$4:$C$100;$B$4:$B$100&"|"&$C$4:$C$100&"";0)*($B$4:$B$100<>"");0);YANLIŞ);SATIRSAY($I$4:I4)));B$4:B$100);"")
 
Konuyu takip ettim fakat iş yoğunluğu nedeniyle çok fazla inceleyemedim.

Sayın @Korhan Ayhan 'ın söylediği gibi konu karışık olunca, tek formül olsun diye formülün içeriği de karışıyor.

Bu arada diğer formülde Büyük fonksiyonu işlemi sadece tersine çevirir, son değeri almaz. Yani listelenen değerlerin sırası değişir, fakat listenin içeriği aynı kalır.

İlk aklıma gelen yapı:
Dizi formülüdür.

Kod:
=EĞERHATA(ARA(2;1/((KAÇINCI("~"&$B$4:$B$100&"|"&$C$4:$C$100;$B$4:$B$100&"|"&$C$4:$C$100&"";0)*($B$4:$B$100<>""))=KÜÇÜK(EĞERHATA(KAÇINCI(SATIR($B$4:$B$100)-SATIR($B$4)+1;KAÇINCI("~"&$B$4:$B$100&"|"&$C$4:$C$100;$B$4:$B$100&"|"&$C$4:$C$100&"";0)*($B$4:$B$100<>"");0);YANLIŞ);SATIRSAY($I$4:I4)));B$4:B$100);"")


Ömer ve Korhan Beyler;

Verdiğiniz formüllerle veya yardımcı sütunla hem ilk hem de son verileri alma işlemleri başarılı olmuştur. Emekleriniz için teşekkür ederim.
 
Geri
Üst