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

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