Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

teyadih

Normal Üye
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Merhaba arkadaşlar. Ekli dosyada da açıkladığım üzere iki tarih arasında olan tarihlere her il için 1 den başlamak üzere sıra numarası veren formül hata vermeye başladı ve nedenini bir türlü çözemedim. Yardım eder misiniz?
 

Ekli dosyalar

Çözüm
Sn @teyadih
Merhaba,

Formülü şu şekilde düzenledim.
=EĞER(AY70="";"";EĞER(VE(Y70>$AX$2;Y70<$AX$3);SOLDAN(AY70;BUL(" ";AY70&" ")-1)&" 8 Yıl Terfi"&TOPLA.ÇARPIM(($Y$4:$Y$404>$AX$2)*($Y$4:$Y$404<$AX$3)*(SOLDAN($AY$4:$AY$404;BUL(" ";$AY$4:$AY$404&" ")-1)=SOLDAN(AY70;BUL(" ";AY70&" ")-1))*($B$4:$B$404<=B70));""))

Bu arada,
1 - İstanbul gizlenen satırlardaki AX 57 hücresinde 1 no. alıyor ve 70. satırdan itibaren 2. sıra no dan başlıyor.
2 - Boş Satır ibarelerinin tamamını sildim. Aslında durabilirdi de.

Ekleme : 19.02.2023 01:49
** Aslında durabilirdi şeklinde yazdım. Ancak, BOŞ olması performansı arttıracaktır.
Çünkü formülün başında, EĞER(AY70="";"" şeklindeki ekleme, eğer Boş Satır...
Selamlar,
Formülünüzdeki
SOLDAN($AY$4:$AY$404;BUL(" ";$AY$4:$AY$404)-1)
kısmı,
Gizlemiş olduğunuz AY kolonunda yazılanların ilk kelimesini aramakta...
Eğer ki, $AY$4:$AY$404 aralığında " " (Boşluk) bulamazsa HATA verecektir. Bu nedenle de hücrelerin tamamına Boş Satır ibaresi yazılmış.
Yalnız, AY264 hala BOŞ. Ve de AY404 e kadar alan tanımlanmış ve AY402 - 403 - 404 hücreleri de henüz BOŞ...
Bu BOŞ hücrelere de Boş Satır yazarsanız olay çözümlenecektir.
Formülün diğer kısımları normal çalışmakta...
 
Deneyiniz....
Formülde
..... *(SOLDAN($AY$4:$AY$404;BUL(" ";$AY$4:$AY$404)-1)=SOLDAN(AY70;BUL(" ";AY70)-1))* .....
yazan kısmı EĞERHATA işlevine sarınız.

Yani

..... *EĞERHATA(SOLDAN($AY$4:$AY$404;BUL(" ";$AY$4:$AY$404)-1)=SOLDAN(AY70;BUL(" ";AY70)-1);0)* ......

şeklinde yapıp, formülü aşağıya doğru kopyalarsınız.

Diğer bir ifadeyle AX70 hücresindeki formülünüz şöyle olacak...

=EĞER(VE(Y70>$AX$2;Y70<$AX$3);SOLDAN(AY70;BUL(" ";AY70)-1)&" 8 Yıl Terfi"&TOPLA.ÇARPIM(($Y$4:$Y$404>$AX$2)*($Y$4:$Y$404<$AX$3)*EĞERHATA(SOLDAN($AY$4:$AY$404;BUL(" ";$AY$4:$AY$404)-1)=SOLDAN(AY70;BUL(" ";AY70)-1);0)*($B$4:$B$404<=B70));"")


Not : Boş Satır yazan hücreleri silebilirsiniz. (Öylece de kalabilir)
 
Sn @teyadih
Merhaba,

Formülü şu şekilde düzenledim.
=EĞER(AY70="";"";EĞER(VE(Y70>$AX$2;Y70<$AX$3);SOLDAN(AY70;BUL(" ";AY70&" ")-1)&" 8 Yıl Terfi"&TOPLA.ÇARPIM(($Y$4:$Y$404>$AX$2)*($Y$4:$Y$404<$AX$3)*(SOLDAN($AY$4:$AY$404;BUL(" ";$AY$4:$AY$404&" ")-1)=SOLDAN(AY70;BUL(" ";AY70&" ")-1))*($B$4:$B$404<=B70));""))

Bu arada,
1 - İstanbul gizlenen satırlardaki AX 57 hücresinde 1 no. alıyor ve 70. satırdan itibaren 2. sıra no dan başlıyor.
2 - Boş Satır ibarelerinin tamamını sildim. Aslında durabilirdi de.

Ekleme : 19.02.2023 01:49
** Aslında durabilirdi şeklinde yazdım. Ancak, BOŞ olması performansı arttıracaktır.
Çünkü formülün başında, EĞER(AY70="";"" şeklindeki ekleme, eğer Boş Satır ibaresi varsa, formülün tamamını çalıştıracaktır. Ama BOŞ hücre olursa, başlangıçta BOŞ olduğunu denetleyecek ve formülün geri kalan kısmını çalıştırmadan "" (BOŞ) sonucunu anında yazacaktır.
** Diğer taraftan, AY70&" " şeklinde eklenen &" " ibareler, AY kolonundaki İstanbul gibi şehirlerde sadece bir kelime bulunup başka bir şey bulunmaması durumlarını değerlendirmek içindir. Yok, MUTLAKA en az 2 kelime olup arada BOŞLUK bulunacak derseniz, bu ibareleri yazmaya gerek yoktur. Formülde bunları kaldırabilirsiniz. Yine de durmalarında fayda var diyorum ben...

bu haliyle deneyiniz.
Dosya ektedir.
 

Ekli dosyalar

Son düzenleme:
Çözüm
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst