• DİKKAT

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

çok koşullu bir çalışma

  • Konbuyu başlatan Konbuyu başlatan modoste
  • Başlangıç tarihi Başlangıç tarihi

modoste

Altın Üye
Katılım
31 Mayıs 2008
Mesajlar
3,714
Excel Vers. ve Dili
Microsoft OFFİCE Ev ve İş 2019 TR
merhaba sayın hocalarım
ekli dosyamda sorumu ilettim
 

Ekli dosyalar

ekli dosyamda sorumu tekrar ilettim.

öğrenci not sistemi gibi çalışmalara baktım. sorum sanki şuna benziyo bir sayı 0 ile 50 arasındaysa 1 51 ile 75 arasındaysa 3 gibi mantığa çok benziyı fakat benim başlangıç bitiş aralıkların çok çok fazla ve değişken olcağı için ara formülünü beceremedim. o yüzden foruma sormaya karar verdim
son eklediğim dosyadaki ilk analizim sorduğu sayı, listedeki sayı ikililerinin arasında olma durumu için;
daha sonra soruma eklemeler yapacağım.
 

Ekli dosyalar

"=ARA(J4;C4:C23;E4:E23) veya "=İNDİS($E$4:$E$23;KAÇINCI(J4;$C$4:$C$23;1))
K4 hücresine bu formülleri yazdığımda ARA ve İNDİS formülü özelliği ile sonuç buluyorum.

bu formüle şu koşulu ekleyebilir miyiz.
J4 hücresindeki sayıyı C4:C23 de aratıp buna karşılık gelen E4:E23 deki karşılığını bulurken, birde G4:G23 aralığında Tip-1 olanları eklesek
ve yine J4 hücresindeki sayıyının C4:C23 aralığındaki sayılardan büyük, D4:D23 aralığındaki sayılardan küçük olanlarının ve G4:G23 aralığında = Tip-1 ifadesi yazanların karşılığını bulacak şekilde formülü bu şekilde bir sayıyı 2 sütundaki sayılarla karşılaştırarak formül değiştirsek
 
Son düzenleme:
eski dökümanlarımada baktım sayın hocalarımın çalışmalarına ancak ARA formülüyle bir sayıyı, bir aralıktaki sayılarla karşılaştırıp başka bir aralıktaki sonucunu bulma ile ilgili örnekler gördüm.

benim bu sorumda bir sayıyı, 2 sütunun aralıklarındaki sayılardan birinden büyük diğerinden küçük olma durumu ile ilgili örneklemeler bulamadım o yüzden bu sorumu iletiyorum
 
Deneyiniz.

Listenizde mükerrerlik olma durumu yoksa aşağıdaki formül işinize yarayacaktır.

C++:
=SUMPRODUCT((J4>=C4:C23)*(J4<=D4:D23)*(G4:G23="Tip-2")*(E4:E23))
 
teşekkürler hocam
hocam sayı değerlerinin olduğu son hücre aralığında yani E4:E23 aralığında metinsel ifadeler olsaydı
formül nasıl değişirdi.
 
Son düzenleme:
hocam son sorum için ekli tablomdaki formül nasıl değişir.
 

Ekli dosyalar

Deneyiniz.

DİZİ formüldür.

C++:
=İNDİS($E$4:$E$23;MİN(EĞER((J4>=$C$4:$C$23)*(J4<=$D$4:$D$23)*($G$4:$G$23="Tip-2");SATIR($E$4:$E$23)-3;"")))
 
hocam tablomda aranılan sayının C ve D sütununda var olması durumu için ilk formülünüzde
=TOPLA.ÇARPIM((J4>=C4:C23)*(J4<=D4:D23)*(G4:G23="Tip-2")*(E4:E23)) yani bu formülde son kısmını
=TOPLA.ÇARPIM((J4>=C4:C23)*(J4<=D4:D23)*(G4:G23="Tip-2")*(E4:E23>0)) değişerek 1 ve 2 sayılarını sonucunu bularak işlemime devam edicem
faydalı oldu bu formül teşekkür ederim

son formül için ayrıca teşekkür ederim
emeğinize sağlık
 
Sayın Korhan Hocam
formülleri detaylı irdeledim ekli dosyamda formül sonuçlarını yorumladım

formüllerin 2. kısmı için "BOŞ" cevabı vermesi gereken yerleri belirttim
buna göre formül nasıl revize edilir.
 

Ekli dosyalar

MİNİMUM yerine KÜÇÜK kullanın.

C++:
=EĞERHATA(İNDİS($E$4:$E$23;KÜÇÜK(EĞER(($J4>=$C$4:$C$23)*($J4<=$D$4:$D$23)*($G$4:$G$23=$K4);SATIR($E$4:$E$23)-3);1));"")
 
çözümü uyguladım korhan bey teşekkür ederim
alternatif formüller yazabilir miyiz dizi formülsüz yada yine dizi formüllü
 
İLK ve SON değerleriniz normal formül için uygun görünmüyor. Tekrarlar var.
 
tamam hocam sizin görüşünüz benim için kuraldır.
tekrar teşekkür ederim.
 
Böyle düşünmeniz beni üzdü açıkçası..

Benim göremediğim detayı bir başkası görüp yakalayabilir. Sonuçta bizlerde insanız. Hata yapabiliriz. İnce detayı göremeyebiliriz.

Bu sebeple araştırma yapmakta fayda var. Belki farklı bir bakış açısı ile çözümler gerebilir.
 
yok hocam yanlış anladınız
benim bu forumda tüm hocalarıma saygım var bu bi gerçek bu sorumla şu ana kadar siz ilgilenip yanıtladığınız için siz demek excel.web.tr hocalarım demek istedim ben
çok çok saygılar hepinize

ben hep alternatif çözümler isteyen biriyim ve hala beklemekteyim :)
 
Bu da DOLAYLI ile çözüm;

DİZİ formüldür.

C++:
=EĞERHATA(DOLAYLI("E"&KÜÇÜK(EĞER(($J4>=$C$4:$C$23)*($J4<=$D$4:$D$23)*($G$4:$G$23=$K4);SATIR($E$4:$E$23));1));"")
 
Başka bir alternatif;

DİZİ formüllerdir.

C++:
=EĞERHATA(İNDİS($E$4:$E$23;KAÇINCI(1;($J4>=$C$4:$C$23)*($J4<=$D$4:$D$23)*($G$4:$G$23=$K4);0));"")

Ya da;

C++:
=EĞERHATA(DOLAYLI("E"&KAÇINCI(1;($J4>=$C$4:$C$23)*($J4<=$D$4:$D$23)*($G$4:$G$23=$K4);0)+3);"")
 
Merhaba,

Dizi olmadan aşağıdaki gibi kullanabilirsiniz. ( Detaylı deneme yapmadım.)
Mantığı Korhan Bey'in kullandığı formülle aynıdır, sadece satır dizini ters çevirerek topla.çarpım kullandım.
Kod:
=EĞERHATA(İNDİS(E$4:E$23;21+TOPLA.ÇARPIM(MİN(($J4>=$C$4:$C$23)*($J4<=$D$4:$D$23)*($G$4:$G$23=$K4)*(SATIR(E$4:E$23)-24))));"")
 
Geri
Üst