• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Düşey Aralı ETopla Bütün Sheetler

  • Konbuyu başlatan Konbuyu başlatan xnanx
  • Başlangıç tarihi Başlangıç tarihi
Katılım
16 Ocak 2010
Mesajlar
81
Excel Vers. ve Dili
Excel 2007 Türkçe
Herkese merhaba,

Bu işin bir türlü yapamadım. Olabileceğinden şüpheliyim.

Söyle ki; 1 Ocak, 2 Ocak, 3 Ocak gibi sheetler var bunlar bütün bir yılı kapsıyor. Her tarih olmayabilir. buradaki verileri, özet sayfasında toplamak istiyorum. Ocak içeren sheetleri Ocak ayının toplamlarına şubat ayını şubat ayı toplamlarına gibi aralık ayına kadar devam edecek şekilde.

Yardımlarınız için şimdiden çok teşekkürler.




Dosya link:
https://drive.google.com/drive/folders/0BzvB-nApZbYWLTR4SmZqcnEtakk?usp=sharing
 
Belirttiğiniz işi yapmak çok karmaşık ve zor. Bence her gün için ayrı sayfa yapmak yerine tek sayfada tarih sütunu ekleyerek veri girerseniz excelin mantığına daha uygun olur. Bu şekilde yaparsanız istediğiniz her türlü raporlamayı kolaylıkla elde edebilirsiniz. Çok sayıda sayfaya hakim olmak da zordur siz de bilirsiniz.
 
Maalesef veriler o şekilde geldiği için bu şekilde bir yola gittim.
Aylık ortalama 25 sheet var 12 ay ile de çarpınca 300 civarı bir sheet olmuşmuş durumda.

http://www.excel.web.tr/f60/3b-3d-formulleri-sayfalardan-toplam-almak-t68265/sayfa2.html

Daha önce bu şekilde bir şeyler yapılmış 3d formülleri ama dosyayı indiremediğim için deneme şansım olmadı sanırım başlangıç ve bitiş sheetleri arasında veriyi alabiliyormuşuz ama. Benim ay ayrıma da yapmam gerekli.
 
Çok teşekkürler.
Bakıyorum şimdi. Umarım uyarlayabilirim.
Sayfa isimleri başları aynı ise olarak yapılmış, bana tam tersi gerekli. 01 Ocak, gibi gidiyor ay isimleri. haliyle bazıları 1 karakter 9 dan büyükler ise 2 karakter onu yapabilirsem alabilirim umarım...
 
Bu dediğinizi anlamadım ama, biraz daha açabilir misiniz?

Kod:
=TOPLA.ÇARPIM(ETOPLA(DOLAYLI("'"&"sheet"&SATIR(DOLAYLI("1:5"))&"'!A:A");D8;DOLAYLI("'"&"sheet"&SATIR(DOLAYLI("1:5"))&"'!B:B")))

Bu formül üzerinden yapmaya çalışıyordum.
 
İsterseniz elinizdeki çok sayfalı dosyadaki veriler makro ile bir sayfaya toplanabilir. Daha sonra da istediğiniz raporlamalar yapılabilir. Aşağıdakileri sırayla deneyiniz:
Dosyanıza boş bir sayfa ekleyin, adı Sayfa1 olsun (zaten olacaktır da)
Bu sayfanın A1 hücresine Tarih, B1 hücresine Ürün, C1 hücresine LT, D1 hücresine Miktar, E1 hücresine Gün ve F1 hücresine de Ay şeklinde başlıkları yazın
Aşağıdaki kodları bir modüle kopyalayıp deneyin. Makro, sayfa1 ve özet sayfası dışındaki tüm sayfalardaki verileri kopyalayıp sayfa1 sayfasına alt alta yapıştıracak ve E ve F sütuınlarına da hangi güne aitse o günü ve ayı yazacaktır.
Daha sonra isterseniz özet tablo raporuyla isterseniz farklı yöntemlerle istediğiniz her türlü raporlamayı yapabilirsiniz:

Kod:
Sub birleştir()
Set s1 = Sheets("Özet")
Set s2 = Sheets("Sayfa1")
For sayfa = 1 To Sheets.Count
    If Sheets(sayfa).Name <> s1.Name And Sheets(sayfa).Name <> s2.Name Then
        son = Sheets(sayfa).Cells(Rows.Count, "A").End(3).Row
        yeni = s2.Cells(Rows.Count, "B").End(3).Row + 1
        Sheets(sayfa).Range("A2:C" & son).Copy s2.Cells(yeni, "B")
        s2.Range("A" & yeni & ":A" & yeni + son - 2) = Sheets(sayfa).Name
        s2.Range("E" & yeni & ":E" & yeni + son - 2) = Left(Sheets(sayfa).Name, 2)
        s2.Range("F" & yeni & ":F" & yeni + son - 2) = WorksheetFunction.Substitute(Sheets(sayfa).Name, Left(Sheets(sayfa).Name, 3), "")
    End If
Next
End Sub
 
.

http://www.excelgurusu.com/wp-content/uploads/2/SayfalardanToplama1.xlsm

Bu dosyaya bakın. Ve bunun P sütunundaki sayfa adlarını göreceksiniz. Bunu aşağıya çektikçe, sayfalar sıralanacak.

.

İdris Bey ilginize teşekkür ederim..
Bir soru sormak istiyorum 3b-toplama-sayma.xlsm dosyasında "Sayfaadı" kodlarını bulamadım. Kod ekranında modülde göremedim. Nerede yazılı.

Yusuf bey sanırım formül ile halledeceğim gibi. Size de teşekkür ederim.
 
.

Kodu öbür dosyadan alacaksınız.

Her neyse...

Eğer sayfalardaki satır başlıkları aynı ise. Yani her sayfada;
A01
A02
A03
A04
A05
A06
A07
A08
A09
A10


gibiyse: Size pratik bir yol öneriyorum.

Özet sayfasının B3 hücresine =SUM( yazdıktan sonra aya ait ilk sayfayı seçin, SHIFT'i basılı tutarak bu aya ait sayfaları seçin, sonra ilgili hücreyi yazıp parantezi kapatarak ENTER ile giriş yapın.

Oluşan formülü sağa ve aşağıya kopyalayın.

Bu uygulamayı diğer aylara da uygulayın.

Bu şekilde yaptığım dosyanızı ekte veriyorum.

.
 

Ekli dosyalar

Merhaba,

Alternatif:

Önce;
Ad Yöneticisinden > sayfa > adını vererek aşağıdaki formülü tanımlayın.

Kod:
=AL.ÇALIŞMAKİTABI(1)

Daha sonra B3 hücresine aşağıdaki formülü yazıp dizi formülüne çevirdikten sonra yana ve alt hücrelere tablo boyunca kopyalayın.

Kod:
=TOPLA.ÇARPIM(EĞERHATA(ETOPLA(DOLAYLI("'"&EĞER(MBUL(ARA(2;1/($B$1:B$1<>"")
 ;$B$1:B$1);sayfa);sayfa;"")&"'!A2:A100");$A3
  ;DOLAYLI("'"&EĞER(MBUL(ARA(2;1/($B$1:B$1<>"");$B$1:B$1);sayfa);sayfa
   ;"")&EĞER(B$2="LT";"'!B2:B100";"'!C2:C100")));0))

Not1: Formülde son hücreyi 100 olarak yazdım siz değiştirebilirsiniz.

Not2: Diz formülüne çevirmek için, formülü hücreye yazdıktan sonra entera basmadan ctrl+shift+enter tuş kombinasyonlarını çalıştırın. Bu işlemden sonra formülü başına ve sonuna { } ayıraçları otomatik eklenmesi gerekir.

Not3: Dosyanızı kaydederken, farklı kaydet den "Makro İçerebilen Excel Çalışma Kitabı" olarak kaydedin.

.
 
Merhaba,

Alternatif:

Önce;
Ad Yöneticisinden > sayfa > adını vererek aşağıdaki formülü tanımlayın.

Kod:
=AL.ÇALIŞMAKİTABI(1)

Daha sonra B3 hücresine aşağıdaki formülü yazıp dizi formülüne çevirdikten sonra yana ve alt hücrelere tablo boyunca kopyalayın.

Kod:
=TOPLA.ÇARPIM(EĞERHATA(ETOPLA(DOLAYLI("'"&EĞER(MBUL(ARA(2;1/($B$1:B$1<>"")
 ;$B$1:B$1);sayfa);sayfa;"")&"'!A2:A100");$A3
  ;DOLAYLI("'"&EĞER(MBUL(ARA(2;1/($B$1:B$1<>"");$B$1:B$1);sayfa);sayfa
   ;"")&EĞER(B$2="LT";"'!B2:B100";"'!C2:C100")));0))

Not1: Formülde son hücreyi 100 olarak yazdım siz değiştirebilirsiniz.

Not2: Diz formülüne çevirmek için, formülü hücreye yazdıktan sonra entera basmadan ctrl+shift+enter tuş kombinasyonlarını çalıştırın. Bu işlemden sonra formülü başına ve sonuna { } ayıraçları otomatik eklenmesi gerekir.

Not3: Dosyanızı kaydederken, farklı kaydet den "Makro İçerebilen Excel Çalışma Kitabı" olarak kaydedin.

.

İlginize çok teşekkür ederim.
Dediğinizi yaptım ama sonuç 0 geliyor.

https://drive.google.com/file/d/0BzvB-nApZbYWTmZpcVBOTEdrTVU/view

Nerede hata yapmış olabilir?
 
Önce;
Ad Yöneticisinden > sayfa > adını vererek aşağıdaki formülü tanımlayın.

Kod:
=AL.ÇALIŞMAKİTABI(1)
---------------------------------------------------------------------------------------------------
Not3: Dosyanızı kaydederken, farklı kaydet den "Makro İçerebilen Excel Çalışma Kitabı" olarak kaydedin.

1. işlem olan, tanımlamayı yaptınız mı? Dosyada yapılmamış gözüküyor.
Eğer yaptıysanız dosyanızı Not3 de belirttiğim gibi kaydetmeniz gerekir.

Ayrıca aynı formülü yana doğruda kopyalayabilirsiniz.

Uygulanmış hali ektedir.

http://s5.dosya.tc/server4/w1pfh1/E_topla.rar.html

.
 

Ekli dosyalar

Çok işime yaradı gerçekten.
Elleriniz dert görmesin.
Çok teşekkür ederim.
 
Geri
Üst