Hur konverterar man matrisstabell till tre kolumner i Excel?
Om du antar att du har en matrisstabell som innehåller kolumnrubriker och radrubriker, och nu vill du konvertera denna stiltabell till tre kolumntabeller, det kallas också listtabell som följande skärmdump visas, har du några bra sätt att lösa detta problem i Excel?
Konvertera matrisstabell till lista med pivottabell
Konvertera matrisstabell till lista med VBA-kod
Konvertera matrisstabell för att lista med Kutools för Excel
Konvertera matrisstabell till lista med pivottabell
I Excel finns det inte en direktfunktion för oss att konvertera matrisstabellen till tabellen med tre kolumner, men om du är bekant med PivotTable kan det göra dig en tjänst. Gör med följande steg:
1. Aktivera ditt kalkylblad som du vill använda och håll sedan ned Alt + D, och tryck sedan på P på tangentbordet, i poppade ut Pivottabell och PivotChart-guiden dialogrutan, välj Flera konsolideringsområden under Var är de data som du vill analysera avsnittet och välj sedan pivottabellen under Vilken typ av rapport vill du skapa avsnitt, se skärmdump:
2. Klicka sedan Nästa knappen, i Steg 2a av 3 guiden väljer du Jag kommer att skapa sidfält alternativ, se skärmdump:
3. Fortsätt klicka Nästa knappen, i Steg 2b av 3 guiden, klicka för att välja dataintervallet som du vill konvertera och klicka sedan på Lägg till för att lägga till dataområdet till Alla intervall listruta, se skärmdump:
4. och klicka Nästa knappen, in Steg 3 av 3 guiden, välj en plats för pivottabellen som du vill.
5. Klicka sedan Finish knapp har en pivottabell skapats på en gång, se skärmdump:
6. I pivottabellen dubbelklickar du på korsningscellen i Grand Total, i det här fallet dubbelklickar jag på cellen F22 och den genererar en tabell med tre kolumner enligt följande skärmdump:
7. Och slutligen kan du konvertera tabellformatet till det normala intervallet genom att välja tabellen och sedan välja Bord > Konvertera till Range från snabbmenyn, se skärmdump:
Konvertera matrisstabell till lista med VBA-kod
Om du inte gillar den första metoden kan följande VBA-kod också hjälpa dig.
1. Tryck Alt + F11 för att visa Microsoft Visual Basic för applikationer fönster.
2. Klicka på i fönstret Insert > Modulerna för att visa ett nytt modulfönster, kopiera och klistra sedan in följande VBA-kod i modulfönstret.
Sub ConvertTable()
'Update 20150512
Dim Rng As Range
Dim cRng As Range
Dim rRng As Range
Dim xOutRng As Range
xTitleId = "KutoolsforExcel"
Set cRng = Application.InputBox("Select your Column labels", xTitleId, Type:=8)
Set rRng = Application.InputBox("Select Your Row Labels", xTitleId, Type:=8)
Set Rng = Application.InputBox("Select your data", xTitleId, Type:=8)
Set outRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set xWs = Rng.Worksheet
k = 1
xColumns = rRng.Column
xRow = cRng.Row
For i = Rng.Rows(1).Row To Rng.Rows(1).Row + Rng.Rows.Count - 1
For j = Rng.Columns(1).Column To Rng.Columns(1).Column + Rng.Columns.Count - 1
outRng.Cells(k, 1) = xWs.Cells(i, xColumns)
outRng.Cells(k, 2) = xWs.Cells(xRow, j)
outRng.Cells(k, 3) = xWs.Cells(i, j)
k = k + 1
Next j
Next i
End Sub
3. Tryck sedan på F5 nyckel för att köra den här koden, och en snabbruta dyker upp för att låta dig välja kolumnetiketter för data, se skärmdump:
4. Och klicka sedan på OK knappen, i nästa rutan, välj radetiketter, se skärmdump:
5. Fortsätt klicka OK, välj sedan dataintervallet exklusive kolumn- och radrubrikerna i snabbrutan, se skärmdump:
6. Och klicka sedan på OK, i den här dialogrutan, välj en cell där du vill hitta resultatet. Se skärmdump:
7. Äntligen klickar du på OK, och du får en tabell med tre kolumner samtidigt.
Konvertera matrisstabell för att lista med Kutools för Excel
Båda ovanstående metoder är lite besvärliga, här presenterar jag dig på ett enkelt sätt - Kutools för Excel, med dess Transponera bordsmått kan du snabbt konvertera mellan en cellmatris och en listtabell.
När du har installerat Kutools för Excelgör så här:
1. Klicka Kutools > Mätområde > Transponera bordsmått, se skärmdump:
2. I Transponera bordsmått dialog ruta:
(1.) Välj Korsa bordet för att lista alternativet under Transponera typ.
(2.) Och klicka sedan på knapp under Källans intervall för att välja det dataområde som du vill konvertera.
(3.) Klicka sedan på knapp under Resultatintervall för att välja en cell där du vill placera resultatet.
3. Och klicka sedan på OK -knappen, och du får följande resultat som inkluderar den ursprungliga cellformateringen:
Med detta verktyg, du också konvertera platt lista till tvådimensionellt tvärbord.
Om du vill veta mer om den här funktionen för transponerande tabellmått.
Ladda ner och testa gratis Kutools för Excel nu!
Demo: Konvertera matrisstabell till lista med Kutools för Excel
Bästa kontorsproduktivitetsverktyg
Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid. Klicka här för att få den funktion du behöver mest...
Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare
- Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
- Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
- Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!