Ynhâldsopjefte
De tutorial lit ferskate manieren sjen om rigen te wikseljen nei kolommen yn Excel: formules, VBA-koade en in spesjaal ark.
It transponearjen fan gegevens yn Excel is de taak dy't in protte brûkers bekend binne. Hiel faak bouwe jo in komplekse tabel allinich om te realisearjen dat it perfekt sin hat om it te draaien foar bettere analyze of presintaasje fan gegevens yn grafiken.
Yn dit artikel fine jo ferskate manieren om rigen te konvertearjen nei kolommen (of kolommen nei rigen), wat jo it ek neame, it is itselde :) Dizze oplossingen wurkje yn alle ferzjes fan Excel 2010 oant Excel 365, dekke in protte mooglike senario's en ferklearje meast typyske flaters.
Konvertearje rigen nei kolommen yn Excel mei Paste Special
Stel dat jo dataset hawwe gelyk oan wat jo sjogge yn it boppeste diel fan 'e grafiken hjirûnder. De lânnammen binne yn kolommen organisearre, mar de list mei lannen is te lang, dus wy kinne de kolommen better feroarje yn rigen sadat de tabel yn it skerm past:
Om rigen te wikseljen nei kolommen, fiert dizze stappen:
- Selektearje de orizjinele gegevens. Om fluch de hiele tabel te selektearjen, dus alle sellen mei gegevens yn in spreadsheet, druk dan op Ctrl + Thús en dan Ctrl + Shift + Ein .
- Kopiearje de selektearre sellen troch rjochts te klikken op de seleksje en te kiezen Kopiearje út it kontekstmenu of troch te drukken op Ctrl + C .
- Selektearje de earste sel fan it bestimmingsberik.
Wês wis dat jo in sel selektearje dy'tbesykje dit en 70+ oare profesjonele ark foar Excel, ik noegje jo út om in proefferzje fan ús Ultimate Suite te downloaden. Tankewol foar it lêzen en ik hoopje jo nije wike op ús blog te sjen!
falt bûten it berik dat jo orizjinele gegevens befettet, sadat de kopiearjegebieten en plakgebieten net oerlappe. Bygelyks, as jo op it stuit 4 kolommen en 10 rigen hawwe, sil de konvertearre tabel 10 kolommen en 4 rigen hawwe. kontekstmenu, selektearje dan Transpose .
Sjoch foar mear ynformaasje Hoe kinne jo Paste Special brûke yn Excel.
Opmerking. As jo boarnegegevens formules befetsje, wês dan der wis fan dat jo relative en absolute referinsjes goed brûke, ôfhinklik fan oft se moatte wurde oanpast of bliuwe op beskoattele foar bepaalde sellen.
Sa't jo krekt hawwe sjoen, lit de funksje Paste Special jo rige nei kolom (of kolom nei rige) transformaasjes letterlik yn in pear sekonden útfiere. Dizze metoade kopiearret ek de opmaak fan jo orizjinele gegevens, wat noch ien argumint taheakket yn syn foardiel.
Dizze oanpak hat lykwols twa neidielen dy't foarkomme dat it in perfekte oplossing foar transponearjen neamd wurdt gegevens yn Excel:
- It is net goed geskikt foar it rotearjen fan folslein funksjonele Excel-tabellen. As jo de hiele tabel kopiearje en dan it dialoochfinster Spesjaal plakke iepenje, sille jo de opsje Transpose útskeakele fine. Yn dit gefal moatte jo de tabel sûnder kolomkoppen kopiearje of earst konvertearje nei in berik.
- Spesjaal plakke > Transpose ferbynt de nije net tafelmei de orizjinele gegevens, dus it is allinich geskikt foar ienmalige konversaasjes. Wannear't de boarnegegevens feroarje, moatte jo it proses werhelje en de tabel op 'e nij draaie. Nimmen soe har tiid fergrieme wolle op it hieltyd wer wikseljen fan deselde rigen en kolommen, krekt?
Hoe kinne jo in tabel transponearje en keppelje oan de orizjinele gegevens
Litte wy sjoch hoe't jo rigen kinne wikselje nei kolommen mei de bekende Spesjaal plakke -technyk, mar ferbine de resultearjende tabel mei de oarspronklike dataset. It bêste fan dizze oanpak is dat wannear't jo de gegevens yn 'e boarnetabel wizigje, de omdraaide tabel de wizigingen reflektearje en dêrmei bywurkje.
- Kopiearje de rigen dy't jo wolle konvertearje nei kolommen (of kolommen) feroare wurde yn rigen).
- Selektearje in lege sel yn itselde of in oar wurkblêd.
- Iepenje it dialoochfinster Spesjaal plakke , lykas útlein yn it foarige foarbyld en klikje op Keppeling plakke yn 'e linker ûnderhoeke:
Jo sille in resultaat hawwe lykas dit:
Dit sil jo tabel feroarje yn wat in bytsje eng, lykas jo sjogge yn 'e skermôfbylding hjirûnder, mar panyk net,gewoan 2 mear stappen, en do silst berikke it winske resultaat.
Dit is in bytsje lang, mar elegante oplossing, is it net? It ienige neidiel fan dizze oanpak is dat de orizjinele opmaak ferlern giet yn it proses en jo moatte it mei de hân weromsette (ik sil jo in flugge manier sjen litte om dit fierder te dwaan yn dizze tutorial).
Hoe om yn Excel te transponearjen mei formules
In fluggere manier om kolommen dynamysk te wikseljen nei rigen yn Excel is troch TRANSPOSE of INDEX/ADDRESS-formule te brûken. Lykas it foarige foarbyld hâlde dizze formules ek de ferbiningen mei de oarspronklike gegevens, mar wurkje in bytsje oars.
Feroarje rigen nei kolommen yn Excel mei TRANSPOSE-funksje
Sy't de namme al seit, de TRANSPOSE-funksje is spesjaal ûntworpen foar it transponearjen fan gegevens yn Excel:
=TRANSPOSE(array)Yn dit foarbyld sille wy in oare tabel konvertearje dy't de Amerikaanske steaten op populaasje listet:
- Tel it oantal rigen en kolommen yn jo orizjinele tabel en selektearje itselde oantal lege sellen, mar yn 'e oare rjochting.
Bygelyks, ús foarbyldtabel hat 7 kolommen en 6 rigen, ynklusyfheadings. Sûnt de TRANSPOSE-funksje sil kolommen feroarje yn rigen, selektearje wy in berik fan 6 kolommen en 7 rigen.
- Mei de lege sellen selektearre, typ dizze formule:
=TRANSPOSE(A1:G6)
- Om't ús formule tapast wurde moat op meardere sellen, druk dan op Ctrl + Shift + Enter om it in arrayformule te meitsjen.
Voilà, de kolommen binne feroare yn rigen, krekt sa't wy woenen:
Foardielen fan TRANSPOSE-funksje:
It wichtichste foardiel fan it brûken fan de TRANSPOSE-funksje is dat de rotearre tabel de ferbining mei de boarnetabel behâldt en as jo de boarnegegevens wizigje, sil de transponearre tabel dêrmei feroarje.
Swakke punten fan TRANSPOSE-funksje:
- De orizjinele tabelopmaak wurdt net bewarre yn 'e konvertearre tabel, lykas jo sjogge yn 'e skermôfdruk hjirboppe.
- As der lege sellen binne yn 'e oarspronklike tabel, sille de transponearre sellen ynstee 0 befetsje. Om dit te reparearjen, brûk TRANSPOSE yn kombinaasje mei de IF-funksje lykas útlein yn dit foarbyld: Hoe transponearje sûnder nullen.
- Jo kinne gjin sellen yn 'e rotearre tabel bewurkje, om't it tige ôfhinklik is fan 'e boarnegegevens. As jo besykje wat selwearde te feroarjen, sille jo einigje mei de flater "Jo kinne gjin diel fan in array feroarje".
Wrapping, wat goed en maklik te brûken de TRANSPOSE-funksje is. , it mist grif fleksibiliteit en kin dêrom net de bêste wêzemanier om te gean yn in protte situaasjes.
Foar mear ynformaasje, sjoch asjebleaft Excel TRANSPOSE-funksje mei foarbylden.
Konvertearje rige nei kolom mei INDIRECT en ADDRESS-funksjes
Yn dit foarbyld, sil in kombinaasje fan twa funksjes brûke, wat in bytsje lestich is. Lit ús dus in lytsere tabel draaie, sadat wy better op de formule kinne rjochtsje.
Stel dat jo gegevens hawwe yn 4 kolommen (A - D) en 5 rigen (1 - 5):
Om kolommen oer te setten nei rigen, doch it folgjende:
- Fier de ûndersteande formule yn yn 'e lofterste sel fan it bestimmingsberik, sis A7, en druk op de Enter-kaai :
=INDIRECT(ADDRESS(COLUMN(A1),ROW(A1)))
- Kopiearje de formule nei rjochts en nei ûnderen nei safolle rigen en kolommen as nedich troch it in lyts swart krús yn 'e rjochterûnderhoeke fan 'e selektearre sellen te slepen:
Dat is it! Yn jo nij oanmakke tabel binne alle kolommen oerstapt nei rigen.
As jo gegevens begjinne yn in oare rige dan 1 en oare kolom dan A, moatte jo in wat kompleksere formule brûke:
=INDIRECT(ADDRESS(COLUMN(A1) - COLUMN($A$1) + ROW($A$1), ROW(A1) - ROW($A$1) + COLUMN($A$1)))
Wêr't A1 de meast loftsboppeste sel is fan jo boarnetabel. Tink ek asjebleaft oan it brûken fan absolute en relative selferwizings.
De transponearre sellen sjogge lykwols hiel gewoan en dof, yn ferliking mei de oarspronklike gegevens:
Mar wês net teloarsteld, dit probleem kin maklik oplost wurde. Om de orizjinele opmaak te herstellen, is dit wat jo dogge:
- Kopiearje it orizjineeltabel.
- Selektearje de resultearjende tabel.
- Rjochtsklik op de resultearjende tabel en kies Plakopsjes > Opmaak .
Foardielen : Dizze formule biedt in fleksibeler manier om rigen te feroarjen nei kolommen yn Excel. It makket it mooglik om alle feroarings yn de transponearre tabel omdat jo brûke in reguliere formule, net in array formule.
Tekortkomingen : Ik kin mar ien sjen - de opmaak fan de ordinale gegevens is ferlern. Jo kinne it lykwols fluch weromsette, lykas hjirboppe te sjen is.
Hoe't dizze formule wurket
No't jo witte hoe't jo de kombinaasje INDIREKTE / ADRES brûke moatte, wolle jo miskien it ynsjoch krije fan wat de formule docht eins.
Lykas de namme al fermoeden docht, wurdt de INDIREKTE funksje, brûkt om yndirekt nei in sel te ferwizen. Mar de echte krêft fan INDIRECT is dat it elke tekenrige kin omsette yn in referinsje, ynklusyf in tekenrige dy't jo opbouwe mei oare funksjes en de wearden fan oare sellen. En dit is krekt wat wy sille dwaan. As jo dit folgje, sille jo de rest mei gemak begripe : )
Sa't jo ûnthâlde, hawwe wy noch 3 funksjes yn 'e formule brûkt - ADRES, KOLOM en RIJ.
De ADDRESS-funksje krijt it seladres troch de rige- en kolomnûmers dy't jo respektivelik oantsjutte. Unthâld de folchoarder: earste - rige, twadde - kolom.
Yn ús formule leverje wy de koördinaten yn omkearde folchoarder, en ditis wat eins docht de trúk! Mei oare wurden, dit diel fan 'e formule ADRES (KOLOM (A1), RIJ (A1)) wikselt rigen nei kolommen, dat wol sizze, nimt in kolomnûmer en feroaret it yn in rigenûmer, nimt dan in rigenûmer en feroaret it nei in kolom nûmer.
Uteinlik jout de YNDIREKT funksje de rotearre gegevens út. Neat ferskriklik, is it?
Gegevens transponearje yn Excel mei VBA-makro
Om de konverzje fan rigen nei kolommen yn Excel te automatisearjen, kinne jo de folgjende makro brûke:
Sub TransposeColumnsRows () Dim SourceRange As Range Dim DestRange As Range Set SourceRange = Application.InputBox(Prompt:= "Selektearje asjebleaft it berik om te transponearjen" , Title:= "Rijen oersette nei kolommen" , Type :=8) Set DestRange = Application.InputBox (Prompt:= "Selektearje de sel linksboppe fan it bestimmingsberik" , Titel:= "Rijen transponearje nei kolommen" , Type :=8) SourceRange.Copy DestRange. Selektearje Selection.PasteSpecial Paste:=xlPasteAll, Operaasje:=xlNone, SkipBlanks:= False , Transpose:= True Application.CutCopyMode = False End SubOm in makro ta te foegjen oan jo wurkblêd, folgje de rjochtlinen beskreaun yn Hoe ynfoegje en fier VBA-koade yn Excel.
Opmerking. Transponearje mei VBA, hat in beheining fan 65536 eleminten. Yn it gefal dat jo array dizze limyt te boppe giet, wurde de ekstra gegevens stilwei fuortgien.
Hoe kinne jo de makro brûke om rigel nei kolom te konvertearjen
Mei de makro yn jo wurkboek ynfoege, útfiere de hjirûnderstappen om jo tabel te draaien:
- Iepenje it doelwurkblêd, druk op Alt + F8 , selektearje de makro TransposeColumnsRows en klik op Utfiere .
Geniet fan it resultaat :)
Switch fan kolommen en rigen mei it Transpose-ark
As jo regelmjittich transformaasjes fan rige nei kolom moatte útfiere, kinne jo eins sykje nei in flugger en ienfâldiger manier. Lokkich haw ik sa'n manier yn myn Excel, en ek oare brûkers fan ús Ultimate Suite :)
Lit my jo sjen litte hoe't jo rigen en kolommen yn Excel letterlik kinne wikselje yn in pear klikken:
- Selektearje ien inkelde sel yn jo tabel, gean nei de Ablebits ljepper > Transformearje groep, en klik op de Transpose knop.
As jo wolle allinich wearden plakke of Keppelings oanmeitsje nei boarnegegevens om de rotearre tabel te twingen om automatysk by te wurkjen mei elke wiziging dy't jo meitsje oan 'e orizjinele tabel, selektearje de oerienkommende opsje.
Klear! De tabel wurdt transponearre, de opmaak wurdt bewarre, gjin fierdere manipulaasjes binne nedich:
As jo nijsgjirrich binne nei