Sådan skifter du kolonner og rækker i Excel

  • Del Dette
Michael Brown

Vejledningen viser forskellige måder at skifte rækker til kolonner i Excel på: formler, VBA-kode og et særligt værktøj.

Ofte opbygger du en kompleks tabel for derefter at indse, at det giver god mening at dreje den for at opnå en bedre analyse eller præsentation af data i grafer.

I denne artikel finder du flere måder at konvertere rækker til kolonner (eller kolonner til rækker) på - uanset hvad du kalder det, er det det samme : ) Disse løsninger fungerer i alle versioner af Excel 2010 til Excel 365, dækker mange mulige scenarier og forklarer de fleste typiske fejl.

    Konverter rækker til kolonner i Excel ved hjælp af indsæt Special

    Lad os antage, at du har et datasæt, der ligner det, du ser i den øverste del af grafikken nedenfor. Landernavnene er organiseret i kolonner, men listen over lande er for lang, så vi må hellere ændre kolonner til rækker, så tabellen passer ind på skærmen:

    For at skifte mellem rækker og kolonner skal du udføre disse trin:

    1. Vælg de oprindelige data. Hvis du hurtigt vil vælge hele tabellen, dvs. alle celler med data i et regneark, skal du trykke på Ctrl + Home og derefter Ctrl + Shift + End .
    2. Kopier de markerede celler enten ved at højreklikke på markeringen og vælge Kopier fra kontekstmenuen eller ved at trykke på Ctrl + C .
    3. Vælg den første celle i destinationsområdet.

      Sørg for at vælge en celle, der ligger uden for det område, der indeholder dine oprindelige data, så kopierings- og indsætningsområderne ikke overlapper hinanden. Hvis du f.eks. i øjeblikket har 4 kolonner og 10 rækker, vil den konverterede tabel have 10 kolonner og 4 rækker.

    4. Højreklik på destinationscellen, og vælg Indsæt specielt fra kontekstmenuen, og vælg derefter Transponere .

    Du kan finde flere oplysninger i Sådan bruger du Indsæt special i Excel.

    Bemærk: Hvis dine kildedata indeholder formler, skal du sørge for at bruge relative og absolutte referencer korrekt, afhængigt af om de skal justeres eller forblive låst til bestemte celler.

    Som du lige har set, kan du med funktionen Indsæt specialfunktion udføre transformationer fra række til kolonne (eller fra kolonne til række) bogstaveligt talt på få sekunder. Denne metode kopierer også formateringen af dine oprindelige data, hvilket er endnu et argument til fordel for den.

    Denne fremgangsmåde har imidlertid to ulemper der forhindrer den i at blive kaldt en perfekt løsning til at omkonvertere data i Excel:

    • Den er ikke velegnet til at rotere fuldt funktionelle Excel-tabeller. Hvis du kopierer hele tabellen og derefter åbner den Indsæt specielt dialogboksen, finder du Transponere I dette tilfælde skal du enten kopiere tabellen uden kolonneoverskrifter eller konvertere den til et interval først.
    • Indsæt specielt > Transponere forbinder ikke den nye tabel med de oprindelige data, så den er kun velegnet til engangskonverteringer. Når kildedataene ændres, skal du gentage processen og rotere tabellen på ny. Ingen vil spilde sin tid på at skifte de samme rækker og kolonner igen og igen, vel?

    Sådan omsætter du en tabel og forbinder den med de oprindelige data

    Lad os se, hvordan du kan skifte mellem rækker og kolonner ved hjælp af den velkendte Indsæt specielt teknikken, men forbinder den resulterende tabel med det oprindelige datasæt. Det bedste ved denne fremgangsmåde er, at når du ændrer dataene i kildetabellen, vil den omvendte tabel afspejle ændringerne og blive opdateret i overensstemmelse hermed.

    1. Kopier de rækker, du vil konvertere til kolonner (eller de kolonner, der skal ændres til rækker).
    2. Vælg en tom celle i det samme eller et andet regneark.
    3. Åbn den Indsæt specielt dialogboksen, som forklaret i det foregående eksempel, og klik på Indsæt link i det nederste venstre hjørne:

    Du vil få et resultat, der ligner dette:

  • Vælg den nye tabel, og åbn Excels dialogboks Find og erstat (eller tryk på Ctrl + H for at komme til dialogboksen Udskift fanen med det samme).
  • Udskift alle "="-tegn med "xxx" eller andre tegn, som ikke findes nogen steder i dine rigtige data.
  • Dette vil forvandle dit bord til noget lidt skræmmende, som du kan se på skærmbilledet nedenfor, men gå ikke i panik, kun 2 trin mere, og du vil opnå det ønskede resultat.

  • Kopier tabellen med "xxx"-værdier, og brug derefter Indsæt specielt> Transponere for at vende kolonner til rækker
  • Endelig skal du åbne den Find og erstat dialogboksen endnu en gang for at vende ændringen, dvs. erstatte alle "xxx" med "=" for at gendanne links til de oprindelige celler.
  • Det er en lidt lang, men elegant løsning, ikke sandt? Den eneste ulempe ved denne fremgangsmåde er, at den oprindelige formatering går tabt i processen, og du skal gendanne den manuelt (jeg viser dig en hurtig måde at gøre det på længere nede i denne vejledning).

    Sådan omsætter du i Excel ved hjælp af formler

    En hurtigere måde at skifte kolonner til rækker dynamisk i Excel på er ved at bruge formlerne TRANSPOSE eller INDEX/ADDRESS. Ligesom i det foregående eksempel bevarer disse formler også forbindelserne til de oprindelige data, men de fungerer lidt anderledes.

    Ændre rækker til kolonner i Excel ved hjælp af TRANSPOSE-funktionen

    Som navnet antyder, er TRANSPOSE-funktionen specielt udviklet til at omkonvertere data i Excel:

    =TRANSPOSE(array)

    I dette eksempel skal vi konvertere en anden tabel, der viser USA's stater efter befolkningstal:

    1. Tæl antallet af rækker og kolonner i din oprindelige tabel, og vælg det samme antal tomme celler, men i den anden retning.

      Vores eksempeltabel har f.eks. 7 kolonner og 6 rækker, inklusive overskrifter. Da TRANSPOSE-funktionen ændrer kolonner til rækker, vælger vi et område på 6 kolonner og 7 rækker.

    2. Skriv denne formel med de tomme celler markeret:

      =TRANSPOSE(A1:G6)

    3. Da vores formel skal anvendes på flere celler, skal du trykke på Ctrl + Shift + Enter for at gøre den til en array-formel.

    Voilà, kolonnerne er ændret til rækker, præcis som vi ønskede:

    Fordele ved TRANSPOSE-funktionen:

    Den største fordel ved at bruge TRANSPOSE-funktionen er, at den roterede tabel bevarer forbindelsen til kildetabellen, og når du ændrer kildedataene, ændres den transponerede tabel i overensstemmelse hermed.

    Svagheder ved TRANSPOSE-funktionen:

    • Den oprindelige tabelformatering gemmes ikke i den konverterede tabel, som du kan se på skærmbilledet ovenfor.
    • Hvis der er tomme celler i den oprindelige tabel, vil de transponerede celler i stedet indeholde 0. For at løse dette problem skal du bruge TRANSPOSE i kombination med IF-funktionen som forklaret i dette eksempel: Sådan transponeres uden nuller.
    • Du kan ikke redigere nogen celler i den roterede tabel, fordi den er meget afhængig af kildedataene. Hvis du forsøger at ændre en celleværdi, får du fejlen "Du kan ikke ændre en del af et array".

    Uanset hvor god og brugervenlig TRANSPOSE-funktionen er, mangler den helt sikkert fleksibilitet og er derfor måske ikke den bedste løsning i mange situationer.

    Du kan finde flere oplysninger i Excel TRANSPOSE-funktionen med eksempler.

    Konverter række til kolonne med INDIRECT- og ADDRESS-funktionerne

    I dette eksempel vil vi bruge en kombination af to funktioner, hvilket er lidt vanskeligt. Så lad os dreje en mindre tabel, så vi bedre kan fokusere på formlen.

    Antag, at du har data i 4 kolonner (A - D) og 5 rækker (1 - 5):

    Du kan ændre kolonner til rækker ved at gøre følgende:

    1. Indtast nedenstående formel i den mest venstre celle i destinationsområdet, f.eks. A7, og tryk på Enter-tasten:

      =INDIRECT(ADRESSE(KOLONNE(A1),RÆKKE(A1)))

    2. Kopier formlen til højre og nedad til så mange rækker og kolonner som nødvendigt ved at trække i det lille sorte kryds i det nederste højre hjørne af de valgte celler:

    Det er det! I din nyoprettede tabel er alle kolonner ændret til rækker.

    Hvis dine data starter i en anden række end 1 og en anden kolonne end A, skal du bruge en lidt mere kompleks formel:

    =INDIRECT(ADRESSE(KOLONNE(A1) - KOLONNE($A$1) + RÆKKE($A$1), RÆKKE(A1) - RÆKKE($A$1) + KOLONNE($A$1)))))

    Hvor A1 er den øverste venstre celle i din kildetabel. Vær også opmærksom på brugen af absolutte og relative cellereferencer.

    Men de omlagte celler ser meget ensartede og kedelige ud i forhold til de oprindelige data:

    Men du skal ikke blive skuffet, for dette problem kan nemt løses. Du kan gendanne den oprindelige formatering ved at gøre følgende:

    • Kopier den originale tabel.
    • Vælg den resulterende tabel.
    • Højreklik på den resulterende tabel, og vælg Indsæt indstillinger > Formatering .

    Fordele : Denne formel giver en mere fleksibel måde at omdanne rækker til kolonner i Excel på. Den gør det muligt at foretage ændringer i den omdannede tabel, fordi du bruger en almindelig formel og ikke en array-formel.

    Mangler : Jeg kan kun se en enkelt - formateringen af ordinal data er tabt. Du kan dog hurtigt gendanne den, som vist ovenfor.

    Sådan fungerer denne formel

    Nu hvor du ved, hvordan du bruger kombinationen INDIRECT / ADDRESS, vil du måske gerne have indsigt i, hvad formlen egentlig gør.

    Som navnet antyder, bruges INDIRECT-funktionen til indirekte at referere til en celle. Men den virkelige styrke ved INDIRECT er, at den kan gøre enhver streng til en reference, herunder en streng, som du opbygger ved hjælp af andre funktioner og værdierne i andre celler. Og det er præcis, hvad vi skal gøre. Hvis du følger med i dette, vil du nemt forstå resten : )

    Som du husker, har vi brugt yderligere 3 funktioner i formlen - ADDRESS, COLUMN og ROW.

    ADDRESS-funktionen får celleadressen ved hjælp af henholdsvis de angivne række- og kolonnenumre. Husk rækkefølgen: første - række, anden - kolonne.

    I vores formel angiver vi koordinaterne i omvendt rækkefølge, og det er faktisk det, der gør tricket! Med andre ord bytter denne del af formlen ADDRESS(COLUMN(A1),ROW(A1))) rækker ud med kolonner, dvs. den tager et kolonnetal og ændrer det til et rækketal, og tager derefter et rækketal og ændrer det til et kolonnetal.

    Til sidst udsender INDIRECT-funktionen de roterede data. Det er ikke noget frygteligt, vel?

    Transponere data i Excel ved hjælp af VBA-makro

    Hvis du vil automatisere konverteringen af rækker til kolonner i Excel, kan du bruge følgende makro:

    Sub TransposeColumnsRows() Dim SourceRange As Range Dim DestRange As Range Set SourceRange = Application.InputBox(Prompt:= "Vælg det område, der skal transponeres" , Title:= "Transpose Rows to Columns" , Type :=8) Set DestRange = Application.InputBox(Prompt:= "Vælg den øverste venstre celle i destinationsområdet" , Title:= "Transpose Rows to Columns" , Type :=8) SourceRange.Copy DestRange.Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= False , Transpose:= True Application.CutCopyMode = False End Sub

    Hvis du vil tilføje en makro til dit regneark, skal du følge de retningslinjer, der er beskrevet i Sådan indsætter og kører du VBA-kode i Excel.

    Bemærk: Transponering med VBA har en begrænsning på 65536 elementer. Hvis dit array overskrider denne grænse, vil de ekstra data blive fjernet i stilhed.

    Sådan bruger du makroen til at konvertere række til kolonne

    Når makroen er indsat i din projektmappe, skal du udføre nedenstående trin for at rotere din tabel:

    1. Åbn målregnearket, tryk på Alt + F8 , vælg den TransposeColumnsRows makro, og klik på Kør .

  • Vælg det område, hvor du vil skifte mellem rækker og kolonner, og klik på OK :
  • Vælg den øverste venstre celle i destinationsområdet, og klik på OK :
  • Nyd resultatet :)

    Skift kolonner og rækker med værktøjet Transpose

    Hvis du har brug for at udføre transformationer fra række til kolonne regelmæssigt, kan du faktisk være på udkig efter en hurtigere og enklere måde. Heldigvis har jeg en sådan måde i min Excel, og det samme har andre brugere af vores Ultimate Suite :)

    Lad mig vise dig, hvordan du kan skifte rækker og kolonner i Excel bogstaveligt talt med et par klik:

    1. Vælg en vilkårlig celle i din tabel, gå til Ablebits faneblad> Transform gruppe, og klik på Transponere knap.

  • Standardindstillingerne fungerer fint i de fleste tilfælde, så du skal blot klikke på Transponere uden at ændre noget.
  • Hvis du gerne vil Kun indsæt værdier eller Oprette links til kildedata for at tvinge den roterede tabel til at blive opdateret automatisk ved hver ændring, du foretager i den oprindelige tabel, skal du vælge den tilsvarende indstilling.

    Færdig! Tabellen er omlagt, formateringen er bevaret, og der er ikke behov for yderligere manipulationer:

    Hvis du er nysgerrig efter at prøve dette og 70+ andre professionelle værktøjer til Excel, kan du downloade en prøveversion af vores Ultimate Suite. Tak for læsningen, og jeg håber at se dig på vores blog i næste uge!

    Michael Brown er en dedikeret teknologientusiast med en passion for at forenkle komplekse processer ved hjælp af softwareværktøjer. Med mere end ti års erfaring i teknologibranchen har han finpudset sine færdigheder i Microsoft Excel og Outlook samt Google Sheets og Docs. Michaels blog er dedikeret til at dele sin viden og ekspertise med andre og giver nemme at følge tips og vejledninger til at forbedre produktiviteten og effektiviteten. Uanset om du er en erfaren professionel eller nybegynder, tilbyder Michaels blog værdifuld indsigt og praktiske råd til at få mest muligt ud af disse vigtige softwareværktøjer.