Yan sekmeden tarih aralığı ile kısıtlı veri çekmek mümkün mü?

Katılım
21 Ocak 2008
Mesajlar
309
Excel Vers. ve Dili
Excel 2013 / Türkçe

Ekli dosyada basit bir örneğini oluşturduğum tablomda,
"Kayitlar" sekmesindeki tablo, "Kasa" adıyla 'dinamik ad' tanımlı.

"Ozet" sekmemde ise yapmaya çalıştığım şey şu; ay içinde avans alan kişilerin almış oldukları avansların, tarih ve tutar olarak listelenmesini istiyorum.

Tablomu bu doğrultuda bir noktaya kadar oluşturdum ama komplike formüllerde tıkandım.

Yapmaya çalıştığım ama beceremediğim 2 husus şunlar;

* Bizim maaş alma aralığımız ayın 10'undan 10'una. Yani 10 Temmuzda alacağımız maaş; 10 Haziran - 09 Temmuz aralığına ait maaş olacak. Dolayısıyla, "Ozet" sekmesine yazacağım formüller, bugün için konuşacak olursak, 9 Haziran - 7 Temmuz arasındaki avansları çekip, getirmeli. Aynı şekilde, 25 Temmuz'da ben bu tabloya baktığımda, 10 Temmuz - 25 Temmuz arasındaki avansları görmeliyim yalnızca.

** İkinci husussa, bu avans tutarları, Ali ve Selim için ayrı ayrı sütunlarda listelenmeli...
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Öncelikle dinamik alan tanımlamanız yanlış olmuş, aşağıdaki formül daha doğru olurdu:

=DOLAYLI("Kayitlar!$B$3:$E$"&BAĞ_DEĞ_DOLU_SAY(Kayitlar!$A:$A)+1)

İkinci olarak bu işlem için Excelin Tablo özelliği ile Özet Tablo raporunu kullanabilirsiniz. Ekli dosyada bu özellikleri kullanarak istediğiniz sonucu elde ettim, inceleyiniz:

 
Katılım
21 Ocak 2008
Mesajlar
309
Excel Vers. ve Dili
Excel 2013 / Türkçe
Yusuf bey, ilginize çok teşekkür ediyorum.

Çok alışkın olmadığım, benim için oldukça değişik fakat enteresan yöntemlerle çözmüşsünüz sorunumu.

Dosyanızı tepeden tırnağa inceleyip, çözüm yöntemlerinizi hazmetmeye, öğrenmeye ve asıl büyük dosyama uyarlamaya çalışacağım. Sağolun...
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Bu arada eğer aynı tabloda farklı yılların verileri de olacaksa dönem hesabı karışabilir. Bu durumda "Dönem" formülünü, özet tabloda ilgili kısımları ve makro kodlarını güncellemek gerekir.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,160
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Kayıtlar sayfasında aynı tarihte aynı kişiye ait birden fazla kayıt olma durumu var mı?
 
Katılım
21 Ocak 2008
Mesajlar
309
Excel Vers. ve Dili
Excel 2013 / Türkçe
Korhan bey, aynı kişiye ait, aynı tarihte iki ayrı avans kaydı olma durumu yok..
 
Katılım
21 Ocak 2008
Mesajlar
309
Excel Vers. ve Dili
Excel 2013 / Türkçe

Yusuf bey, çözümünüz gerçekten oldukça profesyonel. Yapmış olduğunuz tablonun işleyişine ve görsel dizaynına hayran olmamak elde değil. Yukarıda da yazdığım gibi, inşaallah bu dosyanızı uzun soluklu olarak irdelemek ve mantığını kavramak için zaman ayıracağım. Fakat şu haliyle benim seviyemin bayağı üstünde.

Eğer yanlış anlamazsanız, hoş görünüze sığınarak, yeni ekli dosyam için, benim anlayabileceğim, benim seviyeme uygun bir çözüm rica ediyorum.

Dosyadan da göreceğiniz gibi, dosyayı yeniden şöyle dizayn ettim;

"Avanslar" sekmesine, "Kasa" sekmesindeki tüm avans satırlarını çektim.
Bir sonraki adım olarak da bu avanslar içerisinden Ali ve Selim için verileri, bu tablonun sağ tarafına çektim.

[H3] hücresine ay başımız olan tarihi girdiğim de, [H4] hücresi otomatik olarak o ayın son gününü hesaplıyor. Böylece maaş alınacak ayın ilk günü ile son gününü belirlemiş ve zaman aralığını kısıtlamış oluyorum.

Tıkandığım ve formülünü yazmayı beceremediğim yer şu;

Ali ve Selim için çekilen veriler [H3:H4] hücrelerinde kısıtlı zaman aralıkları için listelenmeli ama benim formüllerim tamamını çekiyor. Zaman aralığı kısıtlı formül yazmayı beceremedim maalesef.
 

Trilenium

Destek Ekibi
Destek Ekibi
Katılım
16 Eylül 2008
Mesajlar
1,092
Excel Vers. ve Dili
Microsoft Office 2019 English


Ektedir ve Linktedir.

SUMIFS (EÇOKTOPLA türkçe karşılığıdır) fonksiyonu bunu yapabilirsiniz.

Ne işe yarar ?

Birden fazla kriter vererek ilgili sütundaki verileri verilen kriterlere göre toplar.
 

Ekli dosyalar

Katılım
21 Ocak 2008
Mesajlar
309
Excel Vers. ve Dili
Excel 2013 / Türkçe
Trilenium, ilginize teşekkür ediyorum.

EÇOKTOPLA bilmediğim bir komuttu, bundan sonra kullanırım inşaallah.

Ancak ben Ali ve Selim için ayrı ayrı, 10.05.22 - 09.06.22 tarih aralığındaki avansları çekmek istiyorum, tüm avansları değil.
 
Katılım
21 Ocak 2008
Mesajlar
309
Excel Vers. ve Dili
Excel 2013 / Türkçe

Sabah berrak zihinle uğraşınca çözdüm. Belki başkalarının da işine yarar diye çözümlü dosyayı ekledim.

İlgilerinizden dolayı herkese teşekkürler ediyorum...
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,160
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Burada önemli olan "Kayitlar" sayfanızda depolayacağınız veri sayısıdır. Kullandığınız formüller veri sayısı arttıkça performans sorunları yaratacaktır.

Eğer veri sayısı 10 binleri geçmeyecekse çok sorun olmayacaktır. Ama daha üstü bir veri depolanacaksa @YUSUF44 beyin önerisini kesinlikle değerlendirmeniz gerekecektir.

Bende formüllerle bir çözüm hazırladım. Tarih aralığı için kullandığım formülde mantık hatası varsa siz düzenlersiniz.

Harici Link (Silinebilir) ; https://dosyam.org/1rzJ/94_ikili_veri_cekme.xlsx
 

Ekli dosyalar

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Sorununuz çözülmüş ancak benim önerdiğim çözüm öyle çok uçuk uygulamalar içermiyor. Aslında temelde çok basit ama kuvvetli bir excel özelliği olan "pivot tablo/özet tablo" özelliğini kullandım. Fazladan eklediğim tek şey özet tablonun her sayfa açıldığında otomatik yenilenmesi için kullanılan kodlar. Onlar da sadece kolaylık olsun diye. Onun yerine özet tablo menüsündeki Yenile düğmesine basılarak da yenileme yapılabilir.
 
Katılım
21 Ocak 2008
Mesajlar
309
Excel Vers. ve Dili
Excel 2013 / Türkçe
Korhan bey harika bir çözüm olmuş. Bunu kullanacağım. Veri çekeceğim ana sekmede satır sayısı 2000'i geçmeyecek. Dolayısıyla performans sorunu yaşamayacağımı umuyorum. İlginize çok teşekkür ediyorum.

Yusuf bey, siz de umarım yanlış anlamazsınız beni. İnsan bilmediğinden korkar ya, sizin yönteminizi daha önce hiç kullanmadığım için eğitim videoları da izleyerek, konuyu iyice kavradıktan sonra benzer alıştırmalar yapacağım. Çünkü tasarlamış olduğunuz çözüm o kadar kullanışlı, o kadar görsel olarak mükemmel ki, er ya da geç bu yöntemleri öğreneceğim. Ufkumu açtığınız için teşekkürler ediyorum, sağolun, varolun...
 
Katılım
21 Ocak 2008
Mesajlar
309
Excel Vers. ve Dili
Excel 2013 / Türkçe

Korhan bey, dosyanızı incelerken, tanımlı tarih aralığında, aynı gün 2 kişinin avans alması halinde formüllerin her iki sütuna, iki avansı da çekmekte olduklarını farkettim. Buna mani olmanın bi yolu var mı?...
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,160
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Elbette var..

Aşağıdaki formülü C5 hücresine uygulayıp sağa ve aşağıya doğru sürükleyiniz.

C++:
=EĞER(EĞERSAY($B$5:$B5;$B5)>1;0;EĞERHATA(İNDİS(Kayitlar!$B$4:$E$1000;TOPLA.ÇARPIM(KAÇINCI($B5&C$3&$B$2;Kayitlar!$B$4:$B$1000&Kayitlar!$C$4:$C$1000&Kayitlar!$D$4:$D$1000;0));4);0))
Önceki mesajımda paylaştığım dosyaları bu talebinize göre revize ettim.
 
Katılım
21 Ocak 2008
Mesajlar
309
Excel Vers. ve Dili
Excel 2013 / Türkçe
Korhan bey, sonsuz teşekkürler ediyorum, iyi ki varsınız. Tüm forum yöneticisi ve üyelerine hayırlı bayramlar...
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,160
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Sizlere de iyi bayramlar..
 
Üst