Pivot Tablo Aynı Sutun adi BirleŞtirme sorunu

Katılım
4 Ağustos 2009
Mesajlar
112
Excel Vers. ve Dili
Ofis 2010 TR 32 Bit
Merhabalar

Ad-islem-Ocak-Ocak-Şubat-Şubat
A1-Boya- 5 3 6 9
A2-Boya- 8 7 5 4
A3-Boya- 2 3 5 2
A3-Kuml 4 2 5 8

Yudaridakine benzer veri sayfasından özet tablo oluşturmak istediğimde aynı adları birlestirmiyor. Özetlenecek veri kisminda ocak, ocak2,şubat,subat2 gibi tanımlama yapıyor.
Veri sayfasını özet anlattım yıllık olarak yaklaşık 200 sütun var. Aynı aya ait sıralı beş altı otomatik ad veriyor bunlari asıl bir toplam özeti alabilirim.

Örnek sonuç
A1 boya işlemi için ocak /8 ; Şubat/15 toplam verisi özet tabloda nasıl yapilabilinir.
 
Son düzenleme:

walabi

Altın Üye
Katılım
22 Eylül 2012
Mesajlar
835
Excel Vers. ve Dili
excel 2010

excel 2013
Altın Üyelik Bitiş Tarihi
06-08-2025
Merhaba.

Sizin yazdıklarınıza göre sütun verilerinizde tekrarlanan aylar var ve bunları birleştirmeniz gerekiyor. Buna bir çözüm olarak ekteki exceli ekliyorum. topla.çarpım fonksiyonunu araştırınız.

Aşağıdaki linkten dosyayı indirebilirsiniz sanırım.

 

Ekli dosyalar

Katılım
4 Ağustos 2009
Mesajlar
112
Excel Vers. ve Dili
Ofis 2010 TR 32 Bit
Günayfın,

Dosya çok fazla kasmakta . Örnek dosya ekledim. Buna göre pivot tabloda tasarım veya biçim farklı bir çözüm konusunda yardımcı olabilirmisiniz?


 

Korhan Ayhan

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

Ay verilerini de satırlara yayarsanız istediğiniz şekilde PIVOT oluşturabilirsiniz.



254321
 
Katılım
4 Ağustos 2009
Mesajlar
112
Excel Vers. ve Dili
Ofis 2010 TR 32 Bit
Ürün listesi çok uzun olduğu için , Belirttiğiniz şekilde yapamıyorum Korhan bey.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,637
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bahsettiğim liste makro ile oluşturulabilir.

Kullandığınız ofis sürümü ve dili nedir? Linki inceleyerek profilinizi güncellermisiniz.

 
Katılım
4 Ağustos 2009
Mesajlar
112
Excel Vers. ve Dili
Ofis 2010 TR 32 Bit
Excel Vers. ve Dili Ofis 2010 TR 32 Bit
Kullanıyorum.

Makro konusu teferruatlı bilgim dışında. Pivot mantığında özet tablo olsa imiş iyiymiş. Farklı bir çözüm olur ise paylaşırsanız sevinirim
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,637
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Aşağıdaki adımları uygulayarak sonuç alabilirsiniz..

Paylaştığınız dosyayı açınız.
ALT+F11 tuşlarına basarak VBA editörünü açınız.
INSERT menüsünden MODULE seçeneğini seçiniz.
Aşağıdaki kodu açılan beyaz sayfaya yapıştırınız.

Sonra VERİ isimli sayfanıza EKLE menüsünden butona benzer bir şekil ekleyiniz.
Şekil üzerinde SAĞ tıklayarak MAKRO ATA komutunu seçiniz. Karşınıza gelen pencereden "Create_Pivot_Table" isimli makroyu seçiniz.

Artık butona tıkladığınızda veri yoğunluğuna göre saniyeler içinde PIVOT tablonuz oluşacaktır.

Dosyanızdaki makronun silinmemesi için dosyanızı KAYDET/FARKLI KAYDET dedikten sonra karşınıza gelen pencerede DOSYA TÜRÜ kısmından "Makro İçerebilen Excel Çalışma Kitabı" seçeneğini seçerek kayıt ediniz.

Not : Ben Ofis 365 kullandığım için makro hata vermeden sonuç veriyor. Siz 2010 sürüm kullanıyorsunuz. Belki makrodaki .TableStyle2 = "PivotStyleMedium13" kısmı sizde hata verebilir. Kırmızı olarak renklendirdiğim sayı ile oynayarak uygun TABLO formatını seçebilirsiniz.

C++:
Option Explicit

Sub Create_Pivot_Table()
    Dim S1 As Worksheet, S2 As Worksheet, S3 As Worksheet
    Dim My_Data As Variant, X As Long, Y As Integer, No As Long
    Dim Pivot_Data As PivotCache, Pivot_Table As PivotTable
   
    Application.ScreenUpdating = False
   
    Set S1 = Sheets("Veri")
   
    My_Data = S1.Range("A1").CurrentRegion.Value
   
    On Error Resume Next
    Application.DisplayAlerts = False
    Sheets("Data").Delete
    Sheets("Pivot").Delete
    Application.DisplayAlerts = True
    On Error GoTo 0
   
    Sheets.Add.Name = "Data"
    Set S2 = ActiveSheet
   
    Sheets.Add.Name = "Pivot"
    Set S3 = ActiveSheet
   
    ReDim My_List(1 To S1.Rows.Count, 1 To 4)
   
    My_List(1, 1) = "AD"
    My_List(1, 2) = "İŞLEM"
    My_List(1, 3) = "AY"
    My_List(1, 4) = "MİKTAR"
    No = 1

    For X = 2 To UBound(My_Data, 1)
        For Y = 3 To UBound(My_Data, 2)
            No = No + 1
            My_List(No, 1) = My_Data(X, 1)
            My_List(No, 2) = My_Data(X, 2)
            My_List(No, 3) = My_Data(1, Y)
            My_List(No, 4) = My_Data(X, Y)
        Next
    Next
   
    S2.Range("A1").Resize(No, UBound(My_List, 2)).Value = My_List
   
    Set Pivot_Data = ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, _
                     SourceData:=S2.Range("A1").CurrentRegion)
    Set Pivot_Table = S3.PivotTables.Add(PivotCache:=Pivot_Data, _
                      TableDestination:=S3.Range("A1"), TableName:="Pivot1")

    ActiveWorkbook.ShowPivotTableFieldList = True

    With Pivot_Table
        With .PivotFields("AD")
            .Orientation = xlRowField
            .Position = 1
        End With

        With .PivotFields("İŞLEM")
            .Orientation = xlRowField
            .Position = 1
        End With

        With .PivotFields("AY")
            .Orientation = xlColumnField
            .Position = 1
        End With

        With .PivotFields("MİKTAR")
            .Orientation = xlDataField
            .Position = 1
            .Function = xlSum
        End With

        .RowAxisLayout xlTabularRow
        .RepeatAllLabels xlRepeatLabels
        .TableStyle2 = "PivotStyleMedium13"
        .RowGrand = True
        .DisplayFieldCaptions = True
        .HasAutoFormat = False
        .ShowTableStyleRowStripes = True
        .ShowTableStyleColumnStripes = True
    End With

    S3.Columns.AutoFit
    Range("C3").Select
    ActiveWindow.DisplayGridlines = False
    ActiveWindow.FreezePanes = True

    ActiveWorkbook.ShowPivotTableFieldList = False
   
    Application.ScreenUpdating = True
   
    MsgBox "Verileriniz düzenlenerek ÖZET TABLO oluşturulmuştur.", vbInformation
End Sub
 

walabi

Altın Üye
Katılım
22 Eylül 2012
Mesajlar
835
Excel Vers. ve Dili
excel 2010

excel 2013
Altın Üyelik Bitiş Tarihi
06-08-2025
@Korhan Ayhan Ben kendi ofis sürümümde denedim, 2013 excel sütümü . Bendeki halini ekledim. makroyu CTRL + g kombinasyonu yaparak çalıştırabilir.

 

Ekli dosyalar

Korhan Ayhan

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

Önerdiğim kodu 200 Sütun * 5000 Satır veri içeren tablolarda kullanabilirsiniz. Yani toplamda 1.048.576 satırlık tablo için kullanılabilir.

Eğer veri sayınız bunun üstündeyse özet tablonun direkt makro ile oluşturulması daha faydalı olacaktır.
 
Katılım
4 Ağustos 2009
Mesajlar
112
Excel Vers. ve Dili
Ofis 2010 TR 32 Bit
Teşekürler Üstadlar Elinize sağlık.
 
Üst