Hvordan bytte kolonner og rader i Excel

  • Dele Denne
Michael Brown

Opplæringen viser forskjellige måter å bytte rader til kolonner i Excel: formler, VBA-kode og et spesialverktøy.

Transponering av data i Excel er oppgaven som er kjent for mange brukere. Ganske ofte bygger du en kompleks tabell bare for å innse at det gir perfekt mening å rotere den for bedre analyse eller presentasjon av data i grafer.

I denne artikkelen finner du flere måter å konvertere rader til kolonner (eller kolonner til rader), uansett hva du kaller det, er det det samme : ) Disse løsningene fungerer i alle versjoner av Excel =INDIRECT(ADDRESS(COLUMN(A1),ROW(A1))) til og med Excel 365, dekker mange mulige scenarier og forklarer de fleste typiske feil.

    Konverter rader til kolonner i Excel ved å bruke Paste Special

    Anta at du har et datasett som ligner på det du ser i den øvre delen av grafikken nedenfor. Landnavnene er organisert i kolonner, men listen over land er for lang, så vi bør endre kolonner til rader for at tabellen skal passe på skjermen:

    For å bytte rader til kolonner, utfør disse trinnene:

    1. Velg de opprinnelige dataene. For raskt å velge hele tabellen, dvs. alle cellene med data i et regneark, trykk Ctrl + Home og deretter Ctrl + Shift + End .
    2. Kopier de valgte cellene enten ved å høyreklikke på utvalget og velge Kopier fra kontekstmenyen eller ved å trykke Ctrl + C .
    3. Velg den første cellen i destinasjonsområdet.

      Pass på å velge en celle somprøv dette og 70+ andre profesjonelle verktøy for Excel, jeg inviterer deg til å laste ned en prøveversjon av Ultimate Suite. Takk for at du leser, og jeg håper å se deg på bloggen vår neste uke!

      faller utenfor området som inneholder originaldataene dine, slik at kopierings- og limområdene ikke overlapper hverandre. For eksempel, hvis du for øyeblikket har 4 kolonner og 10 rader, vil den konverterte tabellen ha 10 kolonner og 4 rader.
    4. Høyreklikk målcellen og velg Lim inn spesielt fra kontekstmenyen, velg deretter Transponer .

    For mer informasjon, se Hvordan bruke Paste Special i Excel.

    Merk. Hvis kildedataene dine inneholder formler, sørg for å bruke relative og absolutte referanser riktig avhengig av om de skal justeres eller forbli låst til bestemte celler.

    Som du nettopp har sett, lar Lim inn spesialfunksjonen deg utføre rad til kolonne (eller kolonne til rad) transformasjoner bokstavelig talt på noen få sekunder. Denne metoden kopierer også formateringen av de originale dataene dine, som legger til ett argument til i sin favør.

    Denne tilnærmingen har imidlertid to ulemper som hindrer den i å bli kalt en perfekt løsning for transponering data i Excel:

    • Den er ikke godt egnet for å rotere fullt funksjonelle Excel-tabeller. Hvis du kopierer hele tabellen og deretter åpner Lim inn spesial -dialogen, vil du finne alternativet Transponere deaktivert. I dette tilfellet må du enten kopiere tabellen uten kolonneoverskrifter eller konvertere den til et område først.
    • Lim inn spesielt > Transponer kobler ikke den nye bordmed de originale dataene, så det er godt egnet kun for engangskonverteringer. Hver gang kildedataene endres, må du gjenta prosessen og rotere tabellen på nytt. Ingen vil kaste bort tiden sin på å bytte de samme radene og kolonnene om og om igjen, ikke sant?

    Hvordan transponere en tabell og koble den til de originale dataene

    La oss se hvordan du kan bytte rader til kolonner ved å bruke den kjente Paste Special -teknikken, men koble den resulterende tabellen til det originale datasettet. Det beste med denne tilnærmingen er at hver gang du endrer dataene i kildetabellen, vil den snudde tabellen gjenspeile endringene og oppdatere deretter.

    1. Kopiér radene du vil konvertere til kolonner (eller kolonner) endres til rader).
    2. Velg en tom celle i samme eller et annet regneark.
    3. Åpne dialogboksen Lim inn spesielt , som forklart i forrige eksempel, og klikk Lim inn lenke i nedre venstre hjørne:

    Du vil få et resultat som ligner på dette:

  • Velg den nye tabellen og åpne Excels Finn og erstatt-dialog (eller trykk Ctrl + H for å komme til Erstatt -fanen umiddelbart).
  • Erstatt alle " =" tegn med "xxx" eller andre tegn som ikke finnes noe sted i de virkelige dataene dine.
  • Dette vil gjøre tabellen til noe en litt skummelt, som du ser på skjermbildet nedenfor, men ikke få panikk,bare 2 trinn til, og du vil oppnå ønsket resultat.

  • Kopiér tabellen med "xxx"-verdier, og bruk deretter Lim inn spesial > Transponer for å snu kolonner til rader
  • Åpne til slutt dialogboksen Finn og erstatt en gang til for å reversere endringen, dvs. erstatt alle "xxx" med "=" for å gjenopprette lenker til de originale cellene.
  • Dette er en litt lang, men elegant løsning, er det ikke? Den eneste ulempen med denne tilnærmingen er at den opprinnelige formateringen går tapt i prosessen, og du må gjenopprette den manuelt (jeg skal vise deg en rask måte å gjøre dette på videre i denne opplæringen).

    Hvordan å transponere i Excel ved hjelp av formler

    En raskere måte å dynamisk bytte kolonner til rader i Excel er å bruke TRANSPOSE- eller INDEX/ADRESSE-formelen. I likhet med forrige eksempel beholder disse formlene også koblingene til de opprinnelige dataene, men fungerer litt annerledes.

    Endre rader til kolonner i Excel ved å bruke TRANSPOSE-funksjonen

    Som navnet antyder, TRANSPOSE-funksjonen er spesielt designet for å transponere data i Excel:

    =TRANSPOSE(array)

    I dette eksemplet skal vi konvertere en annen tabell som viser amerikanske stater etter befolkning:

    1. Tell antall rader og kolonner i den opprinnelige tabellen og velg det samme antallet tomme celler, men i den andre retningen.

      Eksempeltabellen vår har for eksempel 7 kolonner og 6 rader, inkludertoverskrifter. Siden TRANSPOSE-funksjonen vil endre kolonner til rader, velger vi et område på 6 kolonner og 7 rader.

    2. Med de tomme cellene valgt, skriv inn denne formelen:

      =TRANSPOSE(A1:G6)

    3. Siden formelen vår må brukes på flere celler, trykk Ctrl + Shift + Enter for å gjøre den til en matriseformel.

    Voilà, kolonnene er endret til rader, akkurat som vi ønsket:

    Fordeler med TRANSPOSE-funksjonen:

    Hovedfordelen med å bruke TRANSPOSE-funksjonen er at den roterte tabellen beholder forbindelsen til kildetabellen, og hver gang du endrer kildedataene, vil den transponerte tabellen endres tilsvarende.

    Svakheter ved TRANSPOSE-funksjonen:

    • Den opprinnelige tabellformateringen er ikke lagret i den konverterte tabellen, som du ser i skjermbildet ovenfor.
    • Hvis det er noen tomme celler i den opprinnelige tabellen, vil de transponerte cellene inneholde 0 i stedet. For å fikse dette, bruk TRANSPOSE i kombinasjon med IF-funksjonen som forklart i dette eksempelet: Hvordan transponere uten nuller.
    • Du kan ikke redigere noen celler i den roterte tabellen fordi den er veldig avhengig av kildedataene. Hvis du prøver å endre en celleverdi, vil du ende opp med feilen "Du kan ikke endre en del av en array".

    Avslutt, uansett hvilken god og brukervennlig TRANSPOSE-funksjonen er. , den mangler absolutt fleksibilitet og er derfor kanskje ikke den bestevei å gå i mange situasjoner.

    For mer informasjon, se Excel TRANSPOSE-funksjonen med eksempler.

    Konverter rad til kolonne med funksjonene INDIREKTE og ADRESSE

    I dette eksemplet, vil bruke en kombinasjon av to funksjoner, noe som er litt vanskelig. Så la oss rotere en mindre tabell slik at vi bedre kan fokusere på formelen.

    Anta at du har data i 4 kolonner (A - D) og 5 rader (1 - 5):

    For å få kolonner byttet til rader, gjør følgende:

    1. Skriv inn formelen nedenfor i cellen lengst til venstre i målområdet, si A7, og trykk på Enter-tasten :

      =INDIRECT(ADDRESS(COLUMN(A1),ROW(A1)))

    2. Kopier formelen mot høyre og nedover til så mange rader og kolonner som trengs ved å dra et lite svart kryss i nedre høyre hjørne av de valgte cellene:

    Det er det! I den nyopprettede tabellen er alle kolonnene byttet til rader.

    Hvis dataene dine starter i en annen rad enn 1 og annen kolonne enn A, må du bruke en litt mer kompleks formel:

    =INDIRECT(ADDRESS(COLUMN(A1) - COLUMN($A$1) + ROW($A$1), ROW(A1) - ROW($A$1) + COLUMN($A$1)))

    Hvor A1 er cellen øverst til venstre i kildetabellen. Vær også oppmerksom på bruken av absolutte og relative cellereferanser.

    Men de transponerte cellene ser veldig enkle og matte ut sammenlignet med de originale dataene:

    Men ikke bli skuffet, dette problemet kan enkelt løses. Slik gjenoppretter du den opprinnelige formateringen:

    • Kopier originalentabell.
    • Velg den resulterende tabellen.
    • Høyreklikk på den resulterende tabellen og velg Lim inn alternativer > Formatering .

    Fordeler : Denne formelen gir en mer fleksibel måte å omgjøre rader til kolonner i Excel. Det tillater å gjøre endringer i den transponerte tabellen fordi du bruker en vanlig formel, ikke en matriseformel.

    Mangler : Jeg kan bare se én - formateringen av ordinære data går tapt. Du kan imidlertid raskt gjenopprette den, som vist ovenfor.

    Hvordan denne formelen fungerer

    Nå som du vet hvordan du bruker INDIREKTE/ADRESSE-kombinasjonen, vil du kanskje få innsikt i hva formelen faktisk gjør det.

    Som navnet antyder, brukes INDIREKTE-funksjonen til indirekte å referere til en celle. Men den virkelige kraften til INDIRECT er at den kan gjøre en hvilken som helst streng til en referanse, inkludert en streng som du bygger opp ved hjelp av andre funksjoner og verdiene til andre celler. Og det er nettopp dette vi skal gjøre. Hvis du følger opp dette, vil du forstå resten med letthet : )

    Som du husker har vi brukt 3 funksjoner til i formelen - ADRESSE, KOLONNE og RAD.

    ADRESSE-funksjonen henter celleadressen ved henholdsvis rad- og kolonnenumrene du angir. Husk rekkefølgen: første - rad, andre - kolonne.

    I formelen vår oppgir vi koordinatene i omvendt rekkefølge, og detteer det som faktisk gjør susen! Med andre ord, denne delen av formelen ADRESSE(COLUMN(A1),ROW(A1)) bytter rader til kolonner, dvs. tar et kolonnenummer og endrer det til et radnummer, tar deretter et radnummer og gjør det til en kolonne nummer.

    Til slutt sender INDIREKTE-funksjonen ut de roterte dataene. Ikke noe forferdelig i det hele tatt?

    Transponer data i Excel ved hjelp av VBA-makro

    For å automatisere konverteringen av rader til kolonner i Excel, kan du bruke følgende makro:

    Sub TransposeColumnsRows () Dim SourceRange As Range Dim DestRange As Range Set SourceRange = Application.InputBox(Prompt:= "Vennligst velg området som skal transponeres" , Tittel:= "Transponer rader til kolonner" , Type :=8) Set DestRange = Application.InputBox (Prompt:= "Velg den øvre venstre cellen i destinasjonsområdet" , Tittel:= "Transponer rader til kolonner", skriv inn :=8) SourceRange.Copy DestRange. Velg Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= False , Transpose:= True Application.CutCopyMode = False End Sub

    For å legge til en makro i regnearket, følg retningslinjene beskrevet i Hvordan sette inn og kjør VBA-kode i Excel.

    Merk. Transponering med VBA har en begrensning på 65536 elementer. I tilfelle matrisen din overskrider denne grensen, vil de ekstra dataene bli kastet bort.

    Hvordan bruke makroen til å konvertere rad til kolonne

    Med makroen satt inn i arbeidsboken din, utfør følgendetrinn for å rotere tabellen:

    1. Åpne målregnearket, trykk Alt + F8 , velg TransposeColumnsRows -makroen og klikk Kjør .

  • Velg området der du vil bytte rader og kolonner og klikk OK :
  • Velg den øvre venstre cellen i destinasjonsområdet og klikk OK :
  • Nyt resultatet :)

    Bytt kolonner og rader med Transpose-verktøyet

    Hvis du trenger å utføre rad til kolonne-transformasjoner med jevne mellomrom, kan det hende du faktisk ser etter en raskere og enklere måte. Heldigvis har jeg en slik måte i Excel, og det har andre brukere av Ultimate Suite også :)

    La meg vise deg hvordan du bytter rader og kolonner i Excel bokstavelig talt med et par klikk:

    1. Velg en enkelt celle i tabellen, gå til Ablebits -fanen > Transformer -gruppen, og klikk på Transponer -knappen.

  • Standardinnstillingene fungerer fint i de fleste tilfeller, så du klikker ganske enkelt Transponer uten å endre noe.
  • Hvis du ønsker å lime inn verdier bare eller opprette koblinger til kildedata for å tvinge den roterte tabellen til å oppdateres automatisk med hver endring du gjør i den opprinnelige tabellen, velg tilsvarende alternativ.

    Ferdig! Tabellen er transponert, formateringen er bevart, ingen ytterligere manipulasjoner er nødvendig:

    Hvis du er nysgjerrig på å

    Michael Brown er en dedikert teknologientusiast med en lidenskap for å forenkle komplekse prosesser ved hjelp av programvareverktøy. Med mer enn ti års erfaring i teknologibransjen, har han forbedret ferdighetene sine i Microsoft Excel og Outlook, samt Google Sheets og Docs. Michaels blogg er dedikert til å dele sin kunnskap og ekspertise med andre, og gir enkle å følge tips og veiledninger for å forbedre produktivitet og effektivitet. Enten du er en erfaren profesjonell eller nybegynner, tilbyr Michaels blogg verdifull innsikt og praktiske råd for å få mest mulig ut av disse viktige programvareverktøyene.