T

Çözüldü Belirli Şartı Taşıyanlara Sıra Numarası Vermesi

  • Konuyu başlatan Konuyu başlatan teyadih
  • Başlangıç tarihi Başlangıç tarihi

teyadih

Normal Üye
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Merhaba arkadaşlar. Ekli dosyada açıkladığım üzere E sütunundaki Kelimelerin içinde Emekli-İstifa-Müstafi-Son yazanların D sütunundaki tarihi en küçük olandan başlamak üzere sıra numarasını H sütununa verecek bir formül ile en yüksek sayı ve rakama ait sayıyı verecek formüle ihtiyacım var.
 

Ekli dosyalar

Merhaba,
I4 için;
Kod:
Görüntülemek için giriş yapmanız gerekmektedir.
(1 satır)

J4 için;
Kod:
Görüntülemek için giriş yapmanız gerekmektedir.
(1 satır)

H4 için (Sayın @52779 'nin size daha önceki konunuzda verdiği formülün bu talebinize uyarlanmış hali);
Kod:
Görüntülemek için giriş yapmanız gerekmektedir.
(1 satır)

Kontrol ediniz.
 

Ekli dosyalar

Merhaba sayın PriveT elinize sağlık. Örnek dosyanızı inceledim. H sütunundaki formülde 2 yok ve 1'den sonraki tüm rakamlar olması gerekenden 1 fazla olmuş. Bakabilir misiniz?
Sayın 52779 tarafından yazılan formüle baktım ama uygulayamadım maalesef
 
Selamlar,
Alternatif çözüm olması açısından
dosyayı ekliyorum...

Tam olarak denemedim... Siz denersiniz...

Sıralama, H4 den itibaren h kolonunda yapıldı.
Dizi Formül

Kod:
Görüntülemek için giriş yapmanız gerekmektedir.
(1 satır)

2 - a nolu sorunuz için
I4 hücresine

Kod:
Görüntülemek için giriş yapmanız gerekmektedir.
(1 satır)

2 - b Nolu sorunuz için ise
J4 hücresine (I4 hücresindeki formülü tekrarlamamak açısından I4 hücresi formülde referans alındı)
Dizi Formül

Kod:
Görüntülemek için giriş yapmanız gerekmektedir.
(1 satır)
 

Ekli dosyalar

Merhaba sayın PriveT elinize sağlık. Örnek dosyanızı inceledim. H sütunundaki formülde 2 yok ve 1'den sonraki tüm rakamlar olması gerekenden 1 fazla olmuş. Bakabilir misiniz?
Sayın 52779 tarafından yazılan formüle baktım ama uygulayamadım maalesef
Merhaba, evet malesef sonradan farkettim ama foruma anca girebildim. Neyse ki üstadlarımdan cevaplar gelmiş.

Sn . @PriveT nin izniyle ;

H4 e yazılan formüldeki +1 i +2 yapın,

Formülü yazdıktan sonra enter YAPMADAN CTRL+SHIFT+ENTER ile formülden çıkın ve aşağıya kopyalayın. Deneyin lütfen.

@Ezelk üstadım, desteğiniz için teşekkürler.
 
Selamlar,
Önce Şahsi fikirlerimi söylemek isterim.
Çünkü, formülde küçük bir değişiklik yapıp sonuç görmek istediğimde sonuca 3 dakika bekledikten sonra ulaşılıyor. Dosyada çalışabilmek mümkün değil bence...
1 - Dosya zaten çok yüksek hacimli bir dosya (6,3 MB)
2 - böyle bir dosyada, DİZİ formülleri ile çözüm aramak (ki DÇARP gibi bir DİZİ işlevi zaten çok fazla performans harcar) çok büyük performans kayıplarına kasılmalara/yavaşlamalara neden olur.
3 - Bir de kullanılan DİZİ formüllerini dinamik alan yerine, büyük aralıklarla kullanmak hem boş yere formülü çalıştırmak ve hem de çok fazla kasılmalara neden olacaktır. (Dosyanızdaki DOLU alan 1250. satıra kadar, ancak, formüllerinizde kullandığınız alan F8 : F9999 gibi bir alan. Fazladan 8750 satır için formül çalışıyor.
4 - DİZİ formüllerde KAYDIR, DOLAYLI gibi işlevler kullanmak da performans kaybıdır. Çünkü bu işlevler Volatile (uçucu) işlevler olup, herhangi bir hücrede küçük bir harf değişikliği bile yapsanız, Sayfa yeni baştan hesaplanacaktır. Aynı zamanda Koşullu Biçimlendirme de Volatiledir. Her bir değişiklikte sayfanın yeniden hesaplanması demektir.
5 - Formüllerle hesaplanan hücreleri kullanarak, sıralattırma yapmak, formüllerin sonuçlarının METİN Sayı Boşluk .... hepsinin kontrolunu sağlamak gerektirecektir.

Bu nedenle, en uygun çözüm makro olacaktır. Eğer ki formüllerle çözüm arıyorsanız da, Yardımcı kolon kullanıp DİZİ formüllerden kesinlikle kaçınmak gerekecektir.

Dosyanızda, formüllerle gelen hücrelerin kontrolunu yapamıyorum maalesef. Çünkü her bir hücreden çıkabilmek için ~3 dakika beklemek gerekiyor.
O nedenle Yardımcı kolon kullanmanızı öneriyorum.
Yani
1645796135364.webp

:
Resimde görüleceği üzere,
AL kolonu yardımcı kolon olacaktır. İstenilirse GİZLENEBİLİR.
AL4 hücresine

Kod:
Görüntülemek için giriş yapmanız gerekmektedir.
(1 satır)

formülünü yazın... Aşağıya doğru gerektiği kadar (ya da 9999 satıra kadar) kopyalayın.
AJ4 hücresine de

Kod:
Görüntülemek için giriş yapmanız gerekmektedir.
(1 satır)

formülünü yazın. Gerektiği kadar kopyalayın.

Ekleme : Saat 19:45
İnat ettim ve formülün çalışıp çalışmayacağını görmek istedim...
"Nerede Hata Yapıyorum" sorusuna cevap olarak, Formülünüzdeki Referans aralıklarına dikkat edin.. Bazı hatalar var. Örneğin Kaçıncı dan hemen sonra gelen D4 gibi ve 8. satırdan başlamasına rağmen siz 4. satırdan başlatmışsınız gibi....
Formüldeki F4:F9999 aralığını da F8 : F3000 gibi 3000. satıra kadar aldım. Bir EĞERHATA fazla yazmışım onu da kaldırdım
Kod:
Görüntülemek için giriş yapmanız gerekmektedir.
(1 satır)
Formülü yazdım. 1200 satıra kadar kopyaladım... Ve 7 - 8 dakika kadar bekleyince (benim PC yaşlı ve eski) formül çalışarak sonuçları üretti.
 
Moderatörün son düzenlenenleri:
Bu güzel analiz için teşekkür ederim sayın 52779. Dediginiz gibi makro daha uygun olacak sanırım. Bttiğinde çalışma kitabındaki diğer sayfalarıda katarak makro için kapsamlı bir çalışma yapmam gerekecek
 
Bu çalışma kitabımda formül olan birden fazla sayfa var. Bu formülleri makro ile almak istediğimde her sayfa için ayrı ayrı mı makro istemem gerekir yoksa tüm çalışma kitabına aynı anda mı istemeliyim
 
Sn. @teyadih

Makro kodu talebi içeren konu açarken;
-- belge bazlı düşünmeyiniz (belgedeki formülleri makroya dönüştürmek istiyorum gibi),
-- sayfa bazlı düşünmeyiniz (belgenin .... sayfasındaki formülleri makroya dönüştürmek istiyorum gibi),

Konuları İŞLEM TÜRÜ bazlı olarak açmanız gerekir.
Bunu yaparken de; işlemler birbirini etkileyen nitelik te olacağından ve belgedeki işleyişe de siz hakim olduğunuzdan
en temel unsurdan başlamanızda yarar var. Zira bir konuya bakılırken geriye dönüp bir önceki aşamada kullanılan kodun yeniden düzenlenmesi zorunluluğu doğurmazsanız iyi olur. Zira kodu sıfırdan yazmak, yeniden düzenlemekten daha az sıkıntılı olabilir.
Ayrıca verilen nedir / istenilen nedir sorularının cevabı tereddüte yer vermeyecek şekilde açıklanmalı ve mümkünse örneklendirilmeli.
Doğal olarak, birbirinin doğal sonucu olacak işlemler birleştirilerek tek konu altında sorulabilir.
Son olarak da kodun nasıl çalıştırılması gerektiği (.... sütununa elle veri girişi yapıldığında, sayfa aktif sayfa haline geldiğinde, sayfaya konumlandırılacak bir düğme üzerinden ... gibi) konusunda fikir belirtirseniz iyi olur.

.
 
Teşekkür ederim sayın Baran. Birbirini tetikleyen sayfalar olduğu için ayrıntılı ve açıklayıcı olacak şekilde bir defada istemek sizin içinde benim içinde daha iyi olacak sanırım.
 
Üst