Pivot Tabloyu Yataydan Dikeyye - Excel İpuçları

İçindekiler

Fr. Kansas'tan Mark bu haftanın Excel sorusunda gönderdi:

Excel pivot tabloları, veriler mümkün olan en fazla kayda bölündüğünde en iyi şekilde çalışır, ancak bu her zaman verileri Excel'e yüklemenin en sezgisel yolu değildir. Örneğin, Şekil 1'deki gibi verileri yüklemek sezgiseldir, ancak verileri analiz etmenin en iyi yolu Şekil 2'deki gibidir.
Şekil 1
şekil 2

İlk olarak, Excel'in birden çok veri alanıyla mükemmel olmayan bir şekilde başa çıkma yöntemini inceleyeceğim. İkinci olarak, şekil 1'i şekil 2'ye dönüştürmek için basit ve hızlı bir makro göstereceğim.

Özet Tablo Sihirbazı

Verileriniz şekil 1 gibiyse, PivotTable Sihirbazı adım 3/4 sırasında, 4 çeyrek alanı sağda gösterildiği gibi pivot tablonun veri alanına sürüklemek mümkündür.

Özet Tablo Görünümü

İşte mükemmel olmayan sonuç. Varsayılan olarak, Excel'in sayfanın aşağısına giden birden çok veri alanı vardır. Gri "Veri" düğmesini tıklayıp, çeyreklerin sayfa boyunca ilerlemesi için yukarı ve sağa sürükleyebilirsiniz. Ancak, her bölge için toplamları kaçırıyorsunuz ve Çeyrek toplamları her zaman yerinde görünmeyecektir.

Yani, Fr. Mark, verilerin düzgün bir şekilde analiz edilebilmesi için gerçekten Şekil 2'deki formatta olması gerektiğini söylediğinde çiviyi kafasına vurdu. Aşağıda, Şekil 1'deki Şekil 1 biçimindeki verileri Şekil 2 biçimindeki Sayfa2'ye hızla taşıyacak bir makro bulunmaktadır. Bu makro, herhangi bir veri kümesiyle çalışmak için yeterince genel değildir. Ancak, özel durumunuza göre özelleştirmek nispeten kolay olmalıdır.

Public Sub TransformData() ' Copyright 1999.com Sheets("Sheet2").Select Range("A1").CurrentRegion.Clear Sheets("Sheet1").Select Range("A1:B1").Copy Destination:=Sheets("Sheet2").Range("A1") Sheets("Sheet2").Select Range("C1").Value = "Qtr" Range("D1").Value = "Sales" Sheets("Sheet1").Select FinalRow = Range("A16000").End(xlUp).Row NextRow = 2 LastRow = FinalRow ' Loop through the data columns For i = 3 To 6 ThisCol = Mid("ABCDEFGHIJK", i, 1) ' Copy the left columns from sheet1 to sheet2 Range("A2:B" & FinalRow).Copy Destination:= _ Sheets("Sheet2").Range("A" & NextRow) ' Copy the header from ThisCol to column C Range(ThisCol & "1").Copy Destination:= _ Sheets("Sheet2").Range("C" & NextRow & ":C" & LastRow) ' Copy the data for this quarter to column D Range(ThisCol & "2:" & ThisCol & FinalRow).Copy _ Destination:=Sheets("Sheet2").Range("D" & NextRow) NextRow = LastRow + 1 LastRow = NextRow + FinalRow - 2 Next i Sheets("Sheet2").Select End Sub
Özet Tablo Sonuç Görünümü

Bu makroyu çalıştırdıktan sonra, veriler yukarıdaki şekil 2'de gösterilen analiz edilmesi daha kolay formatta olacaktır. Şimdi, bu verileri bir pivot tablo için kullandığınızda, veriler üzerinde normal gibi tam kontrole sahip olursunuz.

Ilginç makaleler...