Inhoudsopgave
De tutorial toont verschillende manieren om rijen naar kolommen te wisselen in Excel: formules, VBA-code en een speciale tool.
Gegevens omzetten in Excel is een taak die veel gebruikers kennen. Vaak bouwt u een complexe tabel om u vervolgens te realiseren dat het heel zinvol is om deze te draaien voor een betere analyse of presentatie van gegevens in grafieken.
In dit artikel vindt u verschillende manieren om rijen om te zetten naar kolommen (of kolommen naar rijen), hoe u het ook noemt, het is hetzelfde : ) Deze oplossingen werken in alle versies van Excel 2010 tot en met Excel 365, behandelen veel mogelijke scenario's en leggen de meeste typische fouten uit.
Rijen omzetten in kolommen in Excel met behulp van Plakken speciaal
Stel dat u een dataset hebt die lijkt op wat u ziet in het bovenste deel van de onderstaande grafiek. De landennamen zijn georganiseerd in kolommen, maar de lijst van landen is te lang, dus kunnen we de kolommen beter veranderen in rijen, zodat de tabel binnen het scherm past:
Voer de volgende stappen uit om van rij naar kolom te gaan:
- Selecteer de oorspronkelijke gegevens. Om snel de hele tabel te selecteren, d.w.z. alle cellen met gegevens in een spreadsheet, drukt u op Ctrl + Home en vervolgens op Ctrl + Shift + End .
- Kopieer de geselecteerde cellen door rechts te klikken op de selectie en te kiezen voor Kopie uit het contextmenu of door op Ctrl + C te drukken.
- Selecteer de eerste cel van het doelbereik.
Zorg ervoor dat u een cel selecteert die buiten het bereik valt dat uw oorspronkelijke gegevens bevat, zodat de gebieden voor kopiëren en plakken elkaar niet overlappen. Als u bijvoorbeeld momenteel 4 kolommen en 10 rijen hebt, zal de geconverteerde tabel 10 kolommen en 4 rijen hebben.
- Klik met de rechtermuisknop op de bestemmingscel en kies Speciaal plakken uit het contextmenu en selecteer vervolgens Transponeer .
Voor meer informatie, zie Hoe gebruik ik Plakken speciaal in Excel.
Opmerking. Als uw brongegevens formules bevatten, zorg er dan voor dat u relatieve en absolute verwijzingen correct gebruikt, afhankelijk van of ze moeten worden aangepast of vergrendeld blijven aan bepaalde cellen.
Zoals u zojuist hebt gezien, kunt u met de functie Plakken speciaal rij-naar-kolom (of kolom-naar-rij) transformaties letterlijk in een paar seconden uitvoeren. Deze methode kopieert ook de opmaak van uw oorspronkelijke gegevens, wat nog een argument in zijn voordeel is.
Deze aanpak heeft echter twee nadelen die verhinderen dat het een perfecte oplossing wordt genoemd voor het omzetten van gegevens in Excel:
- Het is niet goed geschikt voor het draaien van volledig functionele Excel-tabellen. Als u de hele tabel kopieert en vervolgens de Speciaal plakken dialoog, vindt u de Transponeer In dit geval moet u ofwel de tabel zonder kolomkoppen kopiëren, ofwel deze eerst omzetten naar een bereik.
- Plakken Speciaal > Transponeer koppelt de nieuwe tabel niet aan de oorspronkelijke gegevens, dus het is alleen geschikt voor eenmalige conversies. Telkens als de brongegevens veranderen, moet u het proces herhalen en de tabel opnieuw draaien. Niemand wil zijn tijd verspillen aan het steeds opnieuw verwisselen van dezelfde rijen en kolommen, toch?
Een tabel omzetten en koppelen aan de oorspronkelijke gegevens
Laten we eens kijken hoe je rijen naar kolommen kunt wisselen met het bekende Speciaal plakken Het beste van deze aanpak is dat telkens wanneer u de gegevens in de brontabel wijzigt, de omgedraaide tabel de wijzigingen weerspiegelt en dienovereenkomstig wordt bijgewerkt.
- Kopieer de rijen die u wilt omzetten in kolommen (of kolommen die u wilt veranderen in rijen).
- Selecteer een lege cel in hetzelfde of een ander werkblad.
- Open de Plakken Speciaal dialoog, zoals uitgelegd in het vorige voorbeeld en klik op Link plakken in de linker benedenhoek:
U krijgt een resultaat dat hier op lijkt:
Dit zal je tafel veranderen in iets engs, zoals je ziet in de schermafbeelding hieronder, maar geen paniek, nog 2 stappen en je bereikt het gewenste resultaat.
Het enige nadeel van deze aanpak is dat de oorspronkelijke opmaak verloren gaat in het proces en u deze handmatig moet herstellen (ik zal u verderop in deze handleiding een snelle manier tonen om dit te doen).
Hoe omzetten in Excel met behulp van formules
Een snellere manier om in Excel dynamisch van kolom naar rij te wisselen is door gebruik te maken van de TRANSPOSE of INDEX/ADDRESS formule. Net als het vorige voorbeeld behouden ook deze formules de verbindingen met de oorspronkelijke gegevens, maar ze werken een beetje anders.
Rijen wijzigen in kolommen in Excel met de functie TRANSPOSE
Zoals de naam al aangeeft, is de functie TRANSPOSE speciaal ontworpen voor het omzetten van gegevens in Excel:
=TRANSPOSE(array)In dit voorbeeld gaan we een andere tabel omzetten die de Amerikaanse staten naar bevolking weergeeft:
- Tel het aantal rijen en kolommen in uw oorspronkelijke tabel en selecteer hetzelfde aantal lege cellen, maar dan in de andere richting.
Onze voorbeeldtabel heeft bijvoorbeeld 7 kolommen en 6 rijen, inclusief koppen. Aangezien de functie TRANSPOSE kolommen in rijen verandert, selecteren we een bereik van 6 kolommen en 7 rijen.
- Met de lege cellen geselecteerd, typt u deze formule:
=TRANSPOSE(A1:G6)
- Omdat onze formule op meerdere cellen moet worden toegepast, drukt u op Ctrl + Shift + Enter om er een matrixformule van te maken.
Voilà, de kolommen zijn veranderd in rijen, precies zoals we wilden:
Voordelen van de TRANSPOSE-functie:
Het belangrijkste voordeel van het gebruik van de TRANSPOSE-functie is dat de gedraaide tabel de verbinding met de brontabel behoudt en dat telkens wanneer u de brongegevens wijzigt, de getransponeerde tabel dienovereenkomstig verandert.
Zwakke punten van de TRANSPOSE-functie:
- De oorspronkelijke tabelopmaak wordt niet bewaard in de geconverteerde tabel, zoals u ziet in de bovenstaande schermafbeelding.
- Indien er lege cellen zijn in de oorspronkelijke tabel, zullen de getransponeerde cellen 0 bevatten. Om dit op te lossen, gebruikt u TRANSPOSE in combinatie met de IF-functie zoals uitgelegd in dit voorbeeld: Hoe transponeren zonder nullen.
- U kunt geen cellen in de gedraaide tabel bewerken, omdat deze sterk afhankelijk is van de brongegevens. Als u probeert een celwaarde te wijzigen, krijgt u de foutmelding "You cannot change part of an array".
Kortom, hoe goed en gebruiksvriendelijk de TRANSPOSE-functie ook is, zij mist zeker flexibiliteit en is daarom in veel situaties misschien niet de beste oplossing.
Voor meer informatie, zie Excel TRANSPOSE functie met voorbeelden.
Rij naar kolom converteren met functies INDIRECT en ADDRESS
In dit voorbeeld zullen we een combinatie van twee functies gebruiken, wat een beetje lastig is. Laten we dus een kleinere tabel draaien, zodat we ons beter kunnen concentreren op de formule.
Stel, u hebt gegevens in 4 kolommen (A - D) en 5 rijen (1 - 5):
Doe het volgende om kolommen in rijen te veranderen:
- Voer de onderstaande formule in in de meest linkse cel van het doelbereik, bijvoorbeeld A7, en druk op de Enter-toets:
=INDIRECT(ADRES(KOLOM(A1),RIJ(A1)))
- Kopieer de formule naar rechts en naar beneden naar zoveel rijen en kolommen als nodig door het kleine zwarte kruis in de rechter benedenhoek van de geselecteerde cellen te verslepen:
Dat is het! In je nieuwe tabel zijn alle kolommen veranderd in rijen.
Als uw gegevens in een andere rij dan 1 en een andere kolom dan A beginnen, moet u een iets complexere formule gebruiken:
=INDIRECT(ADRES(KOLOM(A1) - KOLOM($A$1) + RIJ($A$1), RIJ(A1) - RIJ($A$1) + KOLOM($A$1)))
Waarbij A1 de cel is die linksboven in de brontabel staat. Let ook op het gebruik van absolute en relatieve celverwijzingen.
De getransponeerde cellen zien er echter zeer effen en saai uit, vergeleken met de oorspronkelijke gegevens:
Maar raak niet teleurgesteld, dit probleem kan eenvoudig worden opgelost. Om de oorspronkelijke opmaak te herstellen, doe je het volgende:
- Kopieer de originele tabel.
- Selecteer de resulterende tabel.
- Klik met de rechtermuisknop op de resulterende tabel en kies Plakopties > Opmaak .
Voordelen : Deze formule biedt een flexibelere manier om rijen in kolommen om te zetten in Excel. Met deze formule kunt u wijzigingen aanbrengen in de omgezette tabel omdat u een gewone formule gebruikt, geen matrixformule.
Tekortkomingen : Ik zie er maar één - de opmaak van de ordinale gegevens is verloren gegaan. U kunt deze echter snel herstellen, zoals hierboven getoond.
Hoe deze formule werkt
Nu u weet hoe u de combinatie INDIRECT / ADDRESS moet gebruiken, wilt u misschien weten wat de formule eigenlijk doet.
Zoals de naam al zegt, wordt de functie INDIRECT gebruikt om indirect naar een cel te verwijzen. Maar de echte kracht van INDIRECT is dat hij van elke string een verwijzing kan maken, ook van een string die je opbouwt met behulp van andere functies en de waarden van andere cellen. En dat is precies wat we gaan doen. Als je dit volgt, begrijp je de rest met gemak : )
Zoals u zich herinnert, hebben we nog 3 functies in de formule gebruikt - ADDRESS, COLUMN en ROW.
De functie ADDRESS verkrijgt het celadres door respectievelijk de rij- en kolomnummers die u opgeeft. Onthoud de volgorde: eerste - rij, tweede - kolom.
In onze formule geven we de coördinaten in omgekeerde volgorde, en dit is wat de truc doet! Met andere woorden, dit deel van de formule ADDRESS(COLUMN(A1),ROW(A1)) verwisselt rijen met kolommen, d.w.z. neemt een kolomnummer en verandert het in een rijnummer, neemt vervolgens een rijnummer en verandert het in een kolomnummer.
Tenslotte voert de INDIRECT-functie de geroteerde gegevens uit. Niets vreselijks, toch?
Gegevens omzetten in Excel met VBA-macro
Om de omzetting van rijen naar kolommen in Excel te automatiseren, kunt u de volgende macro gebruiken:
Sub TransposeColumnsRows() Dim SourceRange As Range Dim DestRange As Range Set SourceRange = Application.InputBox(Prompt:= "Selecteer het te transponeren bereik" , Title:= "Transpose Rows to Columns" , Type :=8) Set DestRange = Application.InputBox(Prompt:= "Selecteer de cel linksboven van het bestemmingsbereik" , Title:= "Transpose Rows to Columns" , Type :=8) SourceRange.Copy DestRange.Selection.PasteSpecial Plakken:=xlPasteAll, Werking:=xlNone, SkipBlanks:= False , Transpose:= True Toepassing.CutCopyMode = False Einde SubOm een macro aan uw werkblad toe te voegen, volgt u de richtlijnen beschreven in Hoe VBA-code in Excel invoegen en uitvoeren.
Opmerking. Transponeren met VBA heeft een beperking van 65536 elementen. Als uw array deze limiet overschrijdt, worden de extra gegevens geruisloos weggegooid.
Hoe de macro gebruiken om rij naar kolom om te zetten
Met de macro in uw werkmap, voert u de volgende stappen uit om uw tabel te roteren:
- Open het doelwerkblad, druk op Alt + F8 , selecteer het TransposeColumnsRows macro, en klik op Ren .
Geniet van het resultaat :)
Wissel kolommen en rijen met het gereedschap Transponeren
Als u regelmatig rij-kolom transformaties moet uitvoeren, bent u misschien op zoek naar een snellere en eenvoudigere manier. Gelukkig heb ik zo'n manier in mijn Excel, en andere gebruikers van onze Ultimate Suite ook :)
Ik zal u laten zien hoe u in Excel letterlijk in een paar klikken van rij en kolom kunt wisselen:
- Selecteer een willekeurige cel in uw tabel, ga naar de Ablebits tab> Transformeer groep, en klik op de Transponeer knop.
Als je graag Alleen waarden plakken of Links maken naar brongegevens om de gedraaide tabel automatisch bij te werken bij elke wijziging die u in de oorspronkelijke tabel aanbrengt, selecteert u de overeenkomstige optie.
De tabel is getransponeerd, de opmaak is behouden, er zijn geen verdere bewerkingen nodig:
Als u benieuwd bent naar deze en 70+ andere professionele tools voor Excel, nodig ik u uit om een proefversie van onze Ultimate Suite te downloaden. Bedankt voor het lezen en ik hoop u volgende week op onze blog te zien!