Tarih Listesinden Belirlenen Yil Ile Eslesenlere Karsilik Gelen Sayilari Toplamak

Katılım
21 Kasım 2012
Mesajlar
172
Excel Vers. ve Dili
2013 - TR & EN
Tarih Listesinden Belirlenen Yil Ile Eslesenlere Karsilik Gelen Sayilari Toplamak

Tum yapmak istedigim bu. Sitede arattim fakat aylarla ilgili biraz farkli bir soru karsima cikti. Benim istedigim saniyorum ondan daha basit ve TOPLA.CARPIM formulu disinda bir yol ariyorum. INDIS, COKETOPLA, TOPLA(EGER denedim fakat basarisiz oldum.

Ekte dosya sunuyorum daha aciklayici olmasi adina.
http://s9.dosya.tc/server2/wu920g/hayaletinizi---soru4.xlsx.html

Aciklama: D:E araliginda kaynak tablom var. Bu tabloda ayni yil icinde farkli tarihler yazilmis olabilir. Buyukten kucuge veya tersi bir durum yok. Karisik olarak yazilmis.

1- Bu kaynak tablodan yararlanarak, A SUTUNUNDA, KAYNAK TABLODA bulunan tarihlerin yillarini bir kez olmak uzere KUCUKTEN BUYUGE yazdirmak mumkun mu. bunu bir formulle yazdirmanin yolu var midir?

2- Yine bu kaynak tablodan yararlanarak, B SUTUNUNDA, A sutunundaki yilin bulundugu kaynak tablodaki tarihlere karsilik gelen sayilarin toplamini getirtecek bir formul ariyorum? TOPLA.CARPIM formulu disinda bir formul ariyorum.boyle yazarken karisik gelmis olabilir. yukarida ornek dosya paylastim.

Durum boyle. umarim aciklayici olmustur karistirmadan. Cok tesekkur ederim yardimlariniz ve emeginiz icin.
 
Katılım
21 Kasım 2012
Mesajlar
172
Excel Vers. ve Dili
2013 - TR & EN
Bu dosyayi ailemden birisi icin hazirliyorum ve her islem fonksiyon veya formul ile yapildi. ben dahil hic makro ile islem yapmadim dosyalarimda. ekleme yapmak istersem sayet formul/fonksiyon olursa ufak duzenlemeler yapabilirim. Makro oldugunda elim ayagim baglanmis oluyor.

2. sorumu topla.carpim ile yaptim fakat o da cok yavaslatti. Bu nedenle iki sorumu da topla.carpim formulune alternatif olacak baska bir formul ile halletmek niyetindeyim fakat paylastiginiz makro eminim konuyla ilgilenenlere alternatif olacaktir.
 

tirEdsOuL

Altın Üye
Katılım
3 Şubat 2009
Mesajlar
326
Excel Vers. ve Dili
Office 2016
Altın Üyelik Bitiş Tarihi
24-08-2026
Dizi formülüdür, CTRL+SHIFT+ENTER tuş kombinasyonu ile giriniz.

Kod:
=TOPLA(EĞER(YIL($D$3:$D$7)=A2;$E$3:$E$7))
 
Katılım
21 Kasım 2012
Mesajlar
172
Excel Vers. ve Dili
2013 - TR & EN
Dizi formülüdür, CTRL+SHIFT+ENTER tuş kombinasyonu ile giriniz.

Kod:
=TOPLA(EĞER(YIL($D$3:$D$7)=A2;$E$3:$E$7))
Merhaba paylastiginiz dizi formulu isimi gordu B sutununda yapmak istedigim islem icin. Tesekkur ederim.

Dosyamda da yazdigim uzere, A Sutununda, Kaynak Tabloda bulunan tarihlerin yillarini bir kez olmak uzere KUCUKTEN BUYUGE yazdirmak mumkun mu. bunu bir formulle yazdirmanin yolu var midir?
 
Son düzenleme:

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba.

-- A sütununda, tekrarsız ve küçükten büyüğe yılları listelemek için,
aşağıdaki dizi formülüA2 hücresine uygulayın ve BOŞ sonuç elde edinceye kadar aşağı doğru kopyalayın.
.
Kod:
=[COLOR="red"]EĞERHATA[/COLOR]([COLOR="red"]KÜÇÜK[/COLOR]([COLOR="red"]YIL[/COLOR]($D$3:$D$7);[COLOR="red"]SATIR[/COLOR](A1)+[COLOR="red"]EĞERSAY[/COLOR]($A$1:A1;[COLOR="red"]KÜÇÜK[/COLOR]([COLOR="red"]YIL[/COLOR]($D$3:$D$7);[COLOR="Red"]SATIR[/COLOR](A1))));"")
-- Ayrıca Sayın tirEdsOuL'un verdiği formülünü A sütunu için dolu/boş kontrolü ekleyerek aşağıdaki şekilde kullanın.
.
Kod:
=[B][COLOR="red"]EĞER[/COLOR](A2="";"";[/B][COLOR="red"]TOPLA[/COLOR]([COLOR="red"]EĞER[/COLOR]([COLOR="Red"]YIL[/COLOR]($D$3:$D$7)=A2;$E$3:$E$7))[B][COLOR="red"])[/COLOR][/B]
 
Katılım
21 Kasım 2012
Mesajlar
172
Excel Vers. ve Dili
2013 - TR & EN
Omer Baran, verdiginiz yanit aynen dediginiz gibi isliyor. Benim hep sonradan kendimce ekledigim ayrintiyi da hatirlayip koymussunuz bos olan hucreler icin de. Harika cok tesekkur ederim.

Tek bir sorum var size, paylastiginiz 1. formulde SATIR(A1) ve EGER($A$1:A1 yazdiginiz yerlerdeki hucre adresini degistirmek istedim kendi orjinal dosyama gore fakat hAta aldim.
Yillari listeleyecegim hucre K44 ten itibaren basliyor. K43'te baslik olarak "Year" yazili. ayni sutunda yukarida baska bir tablonun degerleri mevcut.

ben onu EGERSAY($K$1:K1... ve SATIR(K1) olarak degistirdim fakat 1900 sonucunu verdi. Biliyorum ki SATIR(A1) =1 olacaktir. saniyorum bu rakami seri sekilde formulu asagi dogru kopyaladikca arttiracak dogru bir ucre adresi girmem gerekecek. Dizi formulu olarak girdigimden emin oldum mutlaka..
Yine ugrasiyorum eger halledebilirsem kucuk oynamalarla duzeltmek icin, sizden yanit alana kadar..
 
Son düzenleme:

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
SATIR(A1) kısmını olduğu gibi bırakın,
EĞERSAY($A$1:A1 kısmını EĞERSAY($K$43:AK43 olarak değiştirin.

-- SATIR(A1) kısmı, formülün ilk uygulandığı satırda 1'inci küçük, 2'nci satırda 2'nci küçük anlamında.
-- EĞERSAY kısmı ise; aynı yıl ikinci kez yazılmasın diye (küçüklük sırasını atlatmaya yarıyor) var.

Bu tür sorunların yaşanmaması için, örnek belgelerin gerçek belgeyle aynı yapıda olmasını rica etmekteyiz.
.
 
Katılım
21 Kasım 2012
Mesajlar
172
Excel Vers. ve Dili
2013 - TR & EN
Haklisiniz. Orjinalinde oldugu gibi aktarsaydim sorumu, bu sorunla karsilasmamis olurdum. Kendimce ornek bir excel olusturup sormustum, kendime gore hucre adreslerini ayarlarim diye dusunerekten. Fakat dusundugum gibi olmadi. Soylediginiz sekliyle denedim fakat hata aldim ornekteki dosyada oldugu gibi. Buyrun surada paylasiyorum >

http://s9.dosya.tc/server2/bmscmb/Ornek-hayaletinizi.xlsx.html

Aciklama: K44 hucre adresinden itibaren yillari listeliyorum. paylastiginiz dizi formullerini aynen yazdim orada.
 
Son düzenleme:

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Tekrar merhaba.

Biraz dolambaçlı oldu ama şimdilik aşağıdaki dizi formülü işinizi görür.
Formülü K44 hücresine uygulayıp aşağı doğru kopyalayın.
.
Kod:
=[COLOR="red"]EĞERHATA[/COLOR]([COLOR="red"]KÜÇÜK[/COLOR]([COLOR="red"]EĞER[/COLOR]($G$3:$G$114<>"";[COLOR="red"]YIL[/COLOR]($G$3:$G$114));[COLOR="red"]TOPLA.ÇARPIM[/COLOR](($G$3:$G$114<>"")*([COLOR="red"]YIL[/COLOR]($G$3:$G$114)<=[COLOR="red"]MAK[/COLOR]($K$43:K43;[COLOR="red"]MİN[/COLOR]([COLOR="red"]EĞER[/COLOR]($G$3:$G$114<>"";[COLOR="Red"]YIL[/COLOR]($G$3:$G$114)))-1))*1)+1);"")
[COLOR="Blue"]Dizi formülü olduğundan [B][COLOR="Red"]CTRL+SHIFT+ENTER[/COLOR][/B] ile girilmelidir.[/COLOR]
 
Katılım
21 Kasım 2012
Mesajlar
172
Excel Vers. ve Dili
2013 - TR & EN
Omer Baran, paylastiginiz formul islemi dogru sekilde gerceklestirdi. TOPLA.CARPIM 'dan dolayi snaiyorum , bunu ben 10000 hucreye uyguluyorum tek seferde, uygulamasindan ote, tek bir degeri degistigi veya eklendigi aNDA, kendini update etmesi uzun suruyor ve oldukca agirlasttirdi excel'i. saniyorum bunu ilk yazdiginiz formulun isiginda topla.carpim;tan uzak durarak yapabilmenin yolu yok saniyorum .
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Hayır, TOPLA.ÇARPIM işlevinden değil, kullanılan formülün dizi formülü olmasından kaynaklı yavaş çalışıyor.

Sayfadaki herhangi bir hücrede değişiklik olduğunda;
(formülün kullandığı alandaki bir hücre olmasa da)
10.000 hücre için;
-- dolu/boş kontrolü yapılıyor,
-- dolu olanlar için tarih sütununun yıl kısımları hesaplanıyor,
-- bu yıl bilgilerinin önceki satırlarda yazılıp yazılmadığı kontrol ediliyor,
-- yazılmamışsa, yıl bilgisi yazılıyor,
-- sonra sayısal verilerin hesaplamasına geçiliyor ve yıl bilgisi koşula uyanların toplamı hesaplanıyor.

Bu yavaşlıktan kurtulmanız için önerim şudur;
-- yardımcı sütun olarak kullanılmak üzere H3 hücresine aşağıdaki formülü uygulayın ve liste boyunca kopyalayın,
Kod:
=[COLOR="red"]EĞER[/COLOR](G3<>"";[COLOR="Red"]YIL[/COLOR](G3);"")
-- K44 hücresine aşağıdaki formülü uygulayın ve aşağı doğru kopyalayın,
Kod:
=[COLOR="red"]EĞER[/COLOR]([COLOR="red"]YADA[/COLOR](K43="";[COLOR="red"]MAK[/COLOR]($H$3:$H$10000)<[COLOR="red"]KÜÇÜK[/COLOR]($H$3:$H$10000;[COLOR="red"]SATIR[/COLOR](A1))+[COLOR="red"]EĞERSAY[/COLOR]($K$43:K43;"<"&K43));"";[COLOR="red"]KÜÇÜK[/COLOR]($H$3:$H$10000;[COLOR="red"]SATIR[/COLOR](A1))+[COLOR="red"]EĞERSAY[/COLOR]($K$43:K43;"<"&K43))
-- L44 hücresine aşağıdaki formülü uygulayın ve aşağı doğru kopyalayın.
Kod:
=[COLOR="red"]EĞER[/COLOR](K44="";"";[COLOR="red"]ETOPLA[/COLOR]($H$3:$H$10000;K44;$F$3:$F$10000))
 
Üst