Formül ile Yatayara ve Düşeyara

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Merhaba.
Q5 hücresini seçin, aşağıdaki formülü FORMÜL ÇUBUĞUna yapıştırın,
ENTER değil, CTRL ve SHIFT tuşları basılı durumdayken ENTER tuşuna basarak işlemi tamamlayın.
Böylece formül, kendiliğinden {....} gibi köşeli parantez arasına alınırak dizi formülüne dönüşmüş olur.
Son olarak Q5 hücresini sağa doğru W5 hücresine kadar kopyalayın.
Rich (BB code):
=EĞERHATA(KAYDIR($A$1;KÜÇÜK(EĞER(KAYDIR($E$7;1;KAÇINCI($O$5;$F$4:$L$4;0);7)>50;SATIR($E$8:$E$14));SÜTUN(A$1))-1;KAÇINCI($O$5;$F$4:$L$4;0)+4);"")
 
Katılım
2 Şubat 2014
Mesajlar
745
Excel Vers. ve Dili
2007 Türkçe
Teşekkür ederim Ömer Hocam.
Q4:V4 adresindeki veriler de formül ile gelecekti
dikkatinizden kaçtı galiba.
bunun içinde bakabilir misiniz acaba ?
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Tekrar merhaba.
O halde bir önceki cevabımda verdiğim formül yerine;
-- Q4 hücresine dizi formülü olacak şekilde aşağıdaki birinci formülü,
-- Q5 hücresine de aşağıdaki ikinci formülü normal formül olarak (dizi formülü değil manasında) uygulayın,
-- ardından da bu iki hücreyi sağa doğru kopyalayın.
=EĞERHATA(KÜÇÜK(EĞER(KAYDIR($A$1;7;KAÇINCI($O$5;$F$4:$L$4;0)+4;7; )>50;$C$8:$C$14);SÜTUN(A$1));"")
=EĞER(Q$4="";"";KAYDIR($A$1;6+Q4;KAÇINCI($O$5;$F$4:$L$4;0)+4))
 
Son düzenleme:
Katılım
21 Aralık 2016
Mesajlar
674
Excel Vers. ve Dili
Office 365 TR
Alternatif olarak,
https://www.dosyaupload.com/apu0

Dizi formülleri ile
O4 hücresine (O4:W4 hücrelerine kopyalandı)
=EĞERHATA(İNDİS($C$8:$C$14;KÜÇÜK(EĞER(s>=50;SATIR($C$8:$C$14)-SATIR($C$7));SÜTUNSAY($A:A)));"")
O5 hücresine (O5:W5 hücrelerine kopyalandı)
=EĞERHATA(İNDİS(s;KÜÇÜK(EĞER(s>=50;SATIR($C$8:$C$14)-SATIR($C$7));SÜTUNSAY($A:A)));"")

Burada s ismi ile yapılan ad tanımlaması
s = KAYDIR(Sayfa1!$F$8:$L$14;;KAÇINCI(Sayfa1!$O$5;Sayfa1!$F$4:$L$4;)-1;7;1)
.....-1;7;1) ifadesi ....-1;;1) şeklinde de yazılabilir
Not : Ayrıca Yardımcı kolon kullanılarak liste de yapıldı... Gün seçimi için açılır liste tanımlandı.
 
Son düzenleme:
Katılım
2 Şubat 2014
Mesajlar
745
Excel Vers. ve Dili
2007 Türkçe
Alternatif olarak,
https://www.dosyaupload.com/apu0

Dizi formülleri ile
O4 hücresine (O4:W4 hücrelerine kopyalandı)
=EĞERHATA(İNDİS($C$8:$C$14;KÜÇÜK(EĞER(s>=50;SATIR($C$8:$C$14)-SATIR($C$7));SÜTUNSAY($A:A)));"")
O5 hücresine (O5:W5 hücrelerine kopyalandı)
=EĞERHATA(İNDİS(s;KÜÇÜK(EĞER(s>=50;SATIR($C$8:$C$14)-SATIR($C$7));SÜTUNSAY($A:A)));"")

Burada s ismi ile yapılan ad tanımlaması
s = KAYDIR(Sayfa1!$F$8:$L$14;;KAÇINCI(Sayfa1!$O$5;Sayfa1!$F$4:$L$4;)-1;7;1)
.....-1;7;1) ifadesi ....-1;;1) şeklinde de yazılabilir
Not : Ayrıca Yardımcı kolon kullanılarak liste de yapıldı... Gün seçimi için açılır liste tanımlandı.
Sayın 52779 konuya alakanız ve cevabınız için çok teşekkür ederim.
 
Katılım
2 Şubat 2014
Mesajlar
745
Excel Vers. ve Dili
2007 Türkçe
Tekrar merhaba.
O halde bir önceki cevabımda verdiğim formül yerine;
-- Q4 hücresine dizi formülü olacak şekilde aşağıdaki birinci formülü,
-- Q5 hücresine de aşağıdaki ikinci formülü normal formül olarak (dizi formülü değil manasında) uygulayın,
-- ardından da bu iki hücreyi sağa doğru kopyalayın.
Ömer Bey tekrardan teşekkür ederim.
Elinize zihninize sağlık.
Dizi formülündeki 4 ve 7 değerleri tam olarak neyi ifade ediyor
bunun cevabını verebilir iseniz müteşekkir olacağım.
Saygılarımla.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Verdiğim formülde kullanılan aşağıdaki kısımda;
KAYDIR($A$1;7;KAÇINCI($O$5;$F$4:$L$4;0)+4; 7; )
A1 hücresinden 7 satır aşağı ve KAÇINCI($O$5;$F$4:$L$4;0)+4 sütun (örneğin Cuma için 5+4 = 9 oluyor)
sağa kayıldığında ilgili güne ait sütunun ilk hücresine (örneğin Cuma için J8 hücresine) ulaşılmış oluyor.
Veri alanımızın yüksekliği yani satır adeti ise 7 (8-14'üncü satır aralığı) olup arama işlemi bu sütunda 7 hücrede yapılıyor.
Böylece örneğin Cuma için arama alanı, yani KAYDIR($A$1;7;KAÇINCI($O$5;$F$4:$L$4;0)+4; 7; ) formül parçasının sonucu J8:J14 alanı oluyor.
Bu formül parçası KÜÇÜK işlevi parantezi içerisine alınıp,
J8:J14 alanındaki değerlerden 50'den büyük olanlara karşılık gelen C8:C14 aralığındaki değerler küçükten büyüğe doğru tespit edilmiş oluyor.

Alanda 50'den büyük değer adetinden sonraki hücrelerde formül sonucunun HATA vermemesi için de tüm formül EĞERHATA parantezine alındı.

Umarım anlaşılır olmuştur.
.
 
Katılım
2 Şubat 2014
Mesajlar
745
Excel Vers. ve Dili
2007 Türkçe
Verdiğim formülde kullanılan aşağıdaki kısımda;
KAYDIR($A$1;7;KAÇINCI($O$5;$F$4:$L$4;0)+4; 7; )
A1 hücresinden 7 satır aşağı ve KAÇINCI($O$5;$F$4:$L$4;0)+4 sütun (örneğin Cuma için 5+4 = 9 oluyor)
sağa kayıldığında ilgili güne ait sütunun ilk hücresine (örneğin Cuma için J8 hücresine) ulaşılmış oluyor.
Veri alanımızın yüksekliği yani satır adeti ise 7 (8-14'üncü satır aralığı) olup arama işlemi bu sütunda 7 hücrede yapılıyor.
Böylece örneğin Cuma için arama alanı, yani KAYDIR($A$1;7;KAÇINCI($O$5;$F$4:$L$4;0)+4; 7; ) formül parçasının sonucu J8:J14 alanı oluyor.
Bu formül parçası KÜÇÜK işlevi parantezi içerisine alınıp,
J8:J14 alanındaki değerlerden 50'den büyük olanlara karşılık gelen C8:C14 aralığındaki değerler küçükten büyüğe doğru tespit edilmiş oluyor.

Alanda 50'den büyük değer adetinden sonraki hücrelerde formül sonucunun HATA vermemesi için de tüm formül EĞERHATA parantezine alındı.

Umarım anlaşılır olmuştur.
.
Sayın hocam elbette her şey anlaşılır vaziyette.
Affınıza sığınıyorum sorun bende.
C4:L14 verilerinin E19:N29 alanında varsayarak yeni formülleri paylaşır iseniz
daha kolay idrak ederim diye düşünüyorum.
Lütfen mazur görün :(
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Cevap ve mesajlarımınn altındaki İMZA bölümünde de belirttiğim gibi;
bu tür sorunların yaşanmaması için soruların, gerçek belgeyle aynı yapıda örnek belge üzerinden sorulması en doğru olanı.
Böylece verilen çözümün gerçek belgeye uyarlanması gibi bir sorun hiç yaşanmayacaktır.
Gereksiz yazışma olmaması ve net çözüme ulaşılması için şimdi formül cevabı vermeyeyim.
.
 

KMLZDMR

Altın Üye
Katılım
9 Nisan 2015
Mesajlar
494
Excel Vers. ve Dili
2003 TÜRKÇE EXCEL
Sayın #52779
5. penceredeki ekli dosyanızda Q5 hücresindeki dizi formülünü Excel 2003 için aşağıdaki şekilde "eğer(ehatalıysa" formülüne dönüştürmeye çalıştım
olmadı. Çok sayıda bağımsız değişken hatası almaktayım. ... SÜTUNSAY($A:A)))) alanda...
lütfen bu durumda nasıl düzenlenir.

dizi f.=eğer(ehatalıysa(s;KÜÇÜK(EĞER(s>=50;SATIR($C$8:$C$14)-SATIR($C$7));SÜTUNSAY($A:A))));"";s;KÜÇÜK(EĞER(s>=50;SATIR($C$8:$C$14)-SATIR($C$7));SÜTUNSAY($A:A)))))
 
Katılım
21 Aralık 2016
Mesajlar
674
Excel Vers. ve Dili
Office 365 TR
Sayın #52779
5. penceredeki ekli dosyanızda Q5 hücresindeki dizi formülünü Excel 2003 için aşağıdaki şekilde "eğer(ehatalıysa" formülüne dönüştürmeye çalıştım
olmadı. Çok sayıda bağımsız değişken hatası almaktayım. ... SÜTUNSAY($A:A)))) alanda...
lütfen bu durumda nasıl düzenlenir.

dizi f.=eğer(ehatalıysa(s;KÜÇÜK(EĞER(s>=50;SATIR($C$8:$C$14)-SATIR($C$7));SÜTUNSAY($A:A))));"";s;KÜÇÜK(EĞER(s>=50;SATIR($C$8:$C$14)-SATIR($C$7));SÜTUNSAY($A:A)))))
Selamlar,
Örnek belgede O4 hücresindeki
=EĞERHATA(İNDİS($C$8:$C$14;KÜÇÜK(EĞER(s>=50;SATIR($C$8:$C$14)-SATIR($C$7));SÜTUNSAY($A:A)));"")
formülü için Excel 2003 için istenen EHATALIYSA şekli için
=EĞER(EHATALIYSA(KÜÇÜK(EĞER(s>=50;SATIR($C$8:$C$14)-SATIR($C$7));SÜTUNSAY($A:A)));"";İNDİS($C$8:$C$14;KÜÇÜK(EĞER(s>=50;SATIR($C$8:$C$14)-SATIR($C$7));SÜTUNSAY($A:A))))
şeklinde formüle edebilirsiniz.(DİZİ formülüdür). Ya da EHATALIYSA olmadan
=EĞER(TOPLA(EĞER(s>=50;1))>=SÜTUNSAY($A:A);İNDİS($C$8:$C$14;KÜÇÜK(EĞER(s>=50;SATIR($C$8:$C$14)-SATIR($C$7));SÜTUNSAY($A:A)));"")
şeklinde de formüle edilebilir.(DİZİ formülüdür)
İyi çalışmalar...
 

KMLZDMR

Altın Üye
Katılım
9 Nisan 2015
Mesajlar
494
Excel Vers. ve Dili
2003 TÜRKÇE EXCEL
Sayın #52779
Q5 hücresine ilişkin formül için demiştim. Aşağıdaki şekilde yapabildim. Diğer alternatif formülleriniz içinde teşekkür ederim.
Kod:
=EĞER(EHATALIYSA(İNDİS(s;KÜÇÜK(EĞER(s>=50;SATIR($C$8:$C$14)-SATIR($C$7));SÜTUNSAY($A:A))));"";İNDİS(s;KÜÇÜK(EĞER(s>=50;SATIR($C$8:$C$14)-SATIR($C$7));SÜTUNSAY($A:A))))
 
Katılım
21 Aralık 2016
Mesajlar
674
Excel Vers. ve Dili
Office 365 TR
Rica ederim..
İyi çalışmalar..
 
Üst