Pagrieziena tabula horizontāli - vertikāli - Excel padomi

Satura rādītājs

Fr. Marks no Kanzasas nosūtīja šīs nedēļas Excel jautājumu:

Excel rakurstabulas vislabāk darbojas, ja dati tiek sadalīti pēc iespējas vairāk ierakstu, taču tas ne vienmēr ir pats intuitīvākais veids, kā datus ielādēt programmā Excel. Piemēram, ir intuitīvi ielādēt datus, piemēram, 1. attēlu, bet labākais datu analīzes veids ir tāds, kā 2. attēlā.
1. attēls
2. attēls

Pirmkārt, es pārbaudīšu Excel ideālo veidu, kā tikt galā ar vairākiem datu laukiem. Otrkārt, es demonstrēšu vienkāršu un ātru makro, lai 1. attēlu pārveidotu par 2. attēlu.

PivotTable vednis

Ja jūsu dati ir tādi paši kā 1. attēlā, rakurstabulas vedņa 3. vai 4. darbības laikā visus 4 ceturkšņa laukus ir iespējams ievilkt rakurstabulas datu apgabalā, kā parādīts labajā pusē.

PivotTable skats

Šeit ir mazāk ideāls rezultāts. Pēc noklusējuma programmā Excel ir vairāki datu lauki, kas iet pa lapu. Jūs varat noklikšķināt uz pelēkās pogas "Dati" un velciet to uz augšu un pa labi, lai ceturtdaļas pārietu pa lapu. Tomēr jums trūkst kopsummu katram reģionam, un ceturkšņa kopsummas vienmēr šķitīs nevietā.

Tātad, Fr. Marks iesita naglu uz galvas, kad viņš teica, ka datiem tiešām jābūt 2. attēla formātā, lai tos pareizi analizētu. Zemāk ir makro, kas ātri pārvietos datus 1. lapas 1. attēlā 1. lapā uz 2. lapu 2. attēla formātā. Šis makro nav pietiekami vispārīgs, lai darbotos ar jebkuru datu kopu. Tomēr tam jābūt samērā viegli pielāgojamam konkrētajai situācijai.

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
PivotTable rezultātu skats

Pēc šī makro palaišanas dati būs vieglāk analizējamā formātā, kas parādīts iepriekš 2. attēlā. Tagad, kad izmantojat šos datus rakurstabulai, jums ir pilnīga datu kontrole kā parasti.

Interesanti raksti...