V

Çözüldü Son Dolu Hücreye Kadar Formül Kullanma

  • Konuyu başlatan Konuyu başlatan vurkan
  • Başlangıç tarihi Başlangıç tarihi
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

vurkan

Normal Üye
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Arkadaşlar merhaba. Sık yaşadığım bir excel sorunum var. Mesela Formül yazarken

=EĞER($AF$96="";"";İNDİS(VERİ!K$3:VERİ!K$3000;KAÇINCI($AF$96;VERİ!C$3:VERİ!C$3000;0);1)) Şeklinde yazıyoruz. Yani VERİ!C$3:VERİ!C$3000 aralığını taratıyoruz. Bu C3000 yerine Aralık tanımlamasını nasıl değişken yapabiliriz? Bu okul için uygun olan aralık aynı dosyayı kullanacak başka bir okul için uygun olmayabiliyor. Öğrenci sayısı her okulda farklı. VERİ!C$3:VERİ!C yapsak işlem süresi uzuyor. C3 ten başlatıp son dolu hücreye kadar nasıl tanımlayabilirim. Saygılar.
 
Çözüm
Merhaba Sayın @vurkan.
Yanlış düşünmüyorsam, formülü, daha evvel üstünde işlem yaptığımız ÖĞRENCİ PROGRAMI isimli belgede kullanacaksınız.
Bu formülü hangi sayfada, hangi hücreye veya hücrelere uygulayacaksınız tam olarak anlayamadım.
Ayrıca madem belgenizde makro kullanılıyor o halde tavsiyem formül ile amaçladığınız şeyi yine makro ile yaptırmanız yönünde olacak.
Elbette formül de kullanabilirsiniz ama o zaman formülün sonuç alacağı veriler olan yeni bir örnek belge üzerinden gitmikte yarar var.

İsteğinizin cevabı aslında DİNAMİK AD TANIMLAMASI olacak ama yine de örnek belge üzerinden fikir beyan etmek daha doğru olur.
son dolu satır numarası için =MAK(VERİ!$A:$A)+2 formülü sonuç verir.
Buna göre VERİ sayfası C sütunundaki dolu...
Merhaba örnek dosya yok
Belirli Kritere Göre Yazıcıya Seri Dosya Gönderme Başlığındaki dosyada çalışan kodu değiştirerek denedim. Formülde hata var mesajı verdi.
 
Mesela =EĞER(L4="";"";EĞERSAY(VERİ!B3:B&BAĞ_DEĞ_DOLU_SAY(B:B);L4)) bu haliyle çalışmadı, =EĞER(L4="";"";EĞERSAY(VERİ!B3:B$3000;L4)) şeklinde çalıştı. Saygılar.
 
Merhaba Sayın @vurkan.
Yanlış düşünmüyorsam, formülü, daha evvel üstünde işlem yaptığımız ÖĞRENCİ PROGRAMI isimli belgede kullanacaksınız.
Bu formülü hangi sayfada, hangi hücreye veya hücrelere uygulayacaksınız tam olarak anlayamadım.
Ayrıca madem belgenizde makro kullanılıyor o halde tavsiyem formül ile amaçladığınız şeyi yine makro ile yaptırmanız yönünde olacak.
Elbette formül de kullanabilirsiniz ama o zaman formülün sonuç alacağı veriler olan yeni bir örnek belge üzerinden gitmikte yarar var.

İsteğinizin cevabı aslında DİNAMİK AD TANIMLAMASI olacak ama yine de örnek belge üzerinden fikir beyan etmek daha doğru olur.
son dolu satır numarası için =MAK(VERİ!$A:$A)+2 formülü sonuç verir.
Buna göre VERİ sayfası C sütunundaki dolu alanı temsil etmek üzere FORMÜLLER menüsündeki AD TANIMLAMA bölümünde
CAlan gibi bir isim vererek =DOLAYLI("VERİC3:C"&MAK(VERİ!$A:$A)+2) formülü uygularsanız, C sütununa atf yapan formülde C3:C3000 yerine CAlan
yazabilirsiniz. Yeni veri eklendiğinde bu AD TANIMLAMASI alanın işlem yapacağı satır sayısını otomatik olarak algılayacak, buna göre sonuç verecektir.
AD TANIMLAMASI kısmına işlem yapılacak sütunlar için benzer şekilde KAlan gibi AD TANIMLAMALARI yapmalısınız.
Bu işlemleri tamamladıktan sonra formülünüzü örneğin =EĞER ($AF$96="";"";İNDİS(
KAlan;KAÇINCI ($AF$96;Calan;0);1)) şeklinde sorunsuz olarak kullanabilirsiniz.
 
Çözüm
Sayın BARAN haklısınız.

O dosyayı kafamda tamamlamadan rahat edemiyorum. Yazıcı kodlarıyla ilgili bir iki detay kaldı. Onları da halledince tamamlanacak inşallah.

Onun için Belirli Kritere Göre Yazıcıya Seri Dosya Gönderme Başlıklı konuyu açtım.

Keşke kod yazmayı bilsem. Değişik dosyalardan bulduğum veya sizlerden aldığım formüller üzerinde daha kolay değişiklikler yapabildiğim için formül kullanıyorum. Kodlardan hemen hiç anlamıyorum. Bütün işleri de sizlere bırakmak istemediğimden yapabildiğim yerleri formülle yapamadıklarımı da sizlerin yardımıyla kodlarla halletmeye çalışıyorum.
Dosyamı incelerseniz birkaç satırlık kodla halledilebilecek bir iş için sayfaları formüllerle dolduruyorum. Hele sizden aldığım bir dizi formülünü sınıf listeleri olan (Hemen bütün çalışmalarımda) dosyalarda kullanıyorum ki artık demirbaş oldu. Bu kadar sayfalar dolusu formül yazınca da dosyalarım yavaşlıyor.

Adı geçen üzerinde çalıştığımız dosyada formül tanımlamalarım bizim okula göre. 1327 öğrenci var ve genelde bu civarda oluyor. Ben de tanımlamaları 1500 2000 civarında yapınca yetiyor. Ama daha büyük bir okuldan bir arkadaş istediğinde formülleri değiştirmek gerekiyor. Bu yüzden bu soruyu sordum. Tarif ettiğiniz şekilde denemeler yapıp öğrenmeye çalışacağım.

Saygılar
 
İNDİS şilevini kullanma alışkanığınız olduğuna göre, tüm indis formüllerinde aynı alanı BAŞVURU kaynağı olarak kullanın
bu formüldeki sütun indis sayısını değiştirerek A sütunundan sağa doğru kaç sütun kaymanız gerekiyorsa o sayıyı yazarsınız.

Uygun bir hücreye ="VERİA3:T"&MAK(VERİ!$A:$A)+2 formülünü uygularsanız ve VERİ sayfazında 15 öğrenci varsa sonuç VERİ!A3:T17 olur.
Bu durumda da AD TANIMLAMASI kısmında VALAN ismini kullanıp formül olarak =DOLAYLI("VERİA3:T"&MAK(VERİ!$A:$A)+2) kullanırsanız,
İNDİS formülünde =İNDİS(VALAN ; satır sayısı ; A sütunundan itiaren kaçıncı sütundaki bilginin gerekli olduğu) şeklindeki formülle sonuç alabilirsiniz.

Daha evvel de belirttiğim gibi bu şekilde AD TANIMLAMASI yapıldığında VERİ sayfasındaki dolu satır sayısına göre formüller kendini günceleyecektir.
Çünkü MAK(VERİ!A:A)+2 olarak son satır numarasını her zaman doğru bulur ve sorun yaşamazsınız.
Son olarak da mümkün olduğunca dizi formüllerinden kaçınmanızı önermeliyim, bu tür formüller belgeleri yavaşlatır.
.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst