INHOUDSOPGAWE
Die tutoriaal wys verskillende maniere om rye na kolomme in Excel oor te skakel: formules, VBA-kode en 'n spesiale hulpmiddel.
Om data in Excel te transponeer is die taak wat aan baie gebruikers bekend is. Dikwels bou jy 'n komplekse tabel net om te besef dat dit perfek sin maak om dit te roteer vir beter ontleding of aanbieding van data in grafieke.
In hierdie artikel sal jy verskeie maniere vind om rye na kolomme om te skakel (of kolomme na rye), wat jy dit ook al noem, dit is dieselfde ding : ) Hierdie oplossings werk in alle weergawes van Excel 2010 tot en met Excel 365, dek baie moontlike scenario's en verduidelik die meeste tipiese foute.
Skakel rye om na kolomme in Excel met behulp van Plak Spesiaal
Gestel jy het 'n datastel soortgelyk aan wat jy in die boonste gedeelte van die grafika hieronder sien. Die landname is in kolomme georganiseer, maar die lys lande is te lank, so ons moet kolomme na rye verander sodat die tabel binne die skerm pas:
Om rye na kolomme oor te skakel, voer hierdie stappe uit:
- Kies die oorspronklike data. Om die hele tabel vinnig te selekteer, dit wil sê al die selle met data in 'n sigblad, druk Ctrl + Tuis en dan Ctrl + Shift + End .
- Kopieer die geselekteerde selle óf deur regs te klik op die seleksie en te kies Kopieer vanaf die kontekskieslys of deur Ctrl + C te druk.
- Kies die eerste sel van die bestemmingsreeks.
Maak seker dat jy 'n sel kies watprobeer hierdie en 70+ ander professionele gereedskap vir Excel, ek nooi jou uit om 'n proefweergawe van ons Ultimate Suite af te laai. Dankie dat jy gelees het en ek hoop om jou volgende week op ons blog te sien!
val buite die reeks wat jou oorspronklike data bevat, sodat die kopieerareas en plakareas nie oorvleuel nie. Byvoorbeeld, as jy tans 4 kolomme en 10 rye het, sal die omgeskakelde tabel 10 kolomme en 4 rye hê. - Regskliek die bestemmingsel en kies Plak spesiaal uit die konteks kieslys, kies dan Transponeer .
Vir meer inligting, sien asseblief Hoe om Plak Spesiaal in Excel te gebruik.
Let wel. As jou brondata formules bevat, maak seker dat jy relatiewe en absolute verwysings behoorlik gebruik, afhangende van of hulle aangepas moet word of gesluit moet bly tot sekere selle.
Soos jy sopas gesien het, laat die Plak Spesiale-kenmerk jou ry-tot-kolom (of kolom tot ry) transformasies letterlik in 'n paar sekondes uitvoer. Hierdie metode kopieer ook die formatering van jou oorspronklike data, wat nog een argument in sy guns byvoeg.
Hierdie benadering het egter twee nadele wat verhoed dat dit 'n perfekte oplossing vir transponering genoem word data in Excel:
- Dit is nie goed geskik om ten volle funksionele Excel-tabelle te roteer nie. As jy die hele tabel kopieer en dan die Plak Spesiaal dialoog oopmaak, sal jy vind dat die Transponeer opsie gedeaktiveer is. In hierdie geval moet jy óf die tabel sonder kolomopskrifte kopieer óf dit eers na 'n reeks omskakel.
- Plak spesiaal > Transponeer koppel nie die nuwe tafelmet die oorspronklike data, dus is dit goed geskik net vir eenmalige omskakelings. Wanneer die brondata verander, moet jy die proses herhaal en die tabel opnuut draai. Niemand sal hul tyd wil mors om dieselfde rye en kolomme oor en oor te verander nie, reg?
Hoe om 'n tabel te transponeer en aan die oorspronklike data te koppel
Kom ons kyk hoe jy rye na kolomme kan oorskakel deur die bekende Plak Spesiale -tegniek te gebruik, maar koppel die resulterende tabel met die oorspronklike datastel. Die beste ding van hierdie benadering is dat wanneer jy ook al die data in die brontabel verander, die omgekeerde tabel die veranderinge sal weerspieël en dienooreenkomstig bywerk.
- Kopieer die rye wat jy wil omskakel na kolomme (of kolomme) om na rye verander te word).
- Kies 'n leë sel in dieselfde of 'n ander werkblad.
- Maak die Plak Spesiaal dialoog oop, soos in die vorige voorbeeld verduidelik en klik Plak skakel in die onderste linkerhoek:
Jy sal 'n resultaat soortgelyk aan hierdie hê:
Dit sal jou tabel verander in iets 'n bietjie skrikwekkend, soos jy in die skermkiekie hieronder sien, maar moenie paniekerig raak nie,net nog 2 stappe, en jy sal die gewenste resultaat bereik.
Dit is 'n bietjie lang, maar elegante oplossing, is dit nie? Die enigste nadeel van hierdie benadering is dat die oorspronklike formatering in die proses verlore raak en jy sal dit handmatig moet herstel (ek sal jou 'n vinnige manier wys om dit verder in hierdie tutoriaal te doen).
Hoe om in Excel met formules te transponeer
'n Vinniger manier om kolomme dinamies na rye in Excel oor te skakel, is deur TRANSPOSE of INDEX/ADRES formule te gebruik. Soos die vorige voorbeeld, hou hierdie formules ook die verbindings met die oorspronklike data, maar werk 'n bietjie anders.
Verander rye na kolomme in Excel deur TRANSPOSE-funksie te gebruik
Soos die naam aandui, die TRANSPOSE-funksie is spesiaal ontwerp om data in Excel te transponeer:
=TRANSPOSE(skikking)In hierdie voorbeeld gaan ons 'n ander tabel omskakel wat Amerikaanse state volgens bevolking lys:
- Tel die aantal rye en kolomme in jou oorspronklike tabel en kies dieselfde aantal leë sel, maar in die ander rigting.
Byvoorbeeld, ons voorbeeldtabel het 7 kolomme en 6 rye, insluitendopskrifte. Aangesien die TRANSPOSE-funksie kolomme na rye sal verander, kies ons 'n reeks van 6 kolomme en 7 rye.
- Met die leë selle gekies, tik hierdie formule:
=TRANSPOSE(A1:G6)
- Aangesien ons formule op veelvuldige selle toegepas moet word, druk Ctrl + Shift + Enter om dit 'n skikkingsformule te maak.
Voilà, die kolomme is verander na rye, presies soos ons wou:
Voordele van TRANSPOSE-funksie:
Die grootste voordeel van die gebruik van die TRANSPOSE-funksie is dat die geroteerde tabel die verbinding met die brontabel behou en wanneer jy die brondata verander, sal die getransponeerde tabel dienooreenkomstig verander.
Swakhede van TRANSPOSE-funksie:
- Die oorspronklike tabelformatering word nie in die omgeskakelde tabel gestoor nie, soos jy in die skermkiekie hierbo sien.
- As daar enige leë selle in die oorspronklike tabel is, sal die getransponeerde selle eerder 0 bevat. Om dit reg te stel, gebruik TRANSPOSE in kombinasie met die IF-funksie soos verduidelik in hierdie voorbeeld: Hoe om te transponeer sonder nulle.
- Jy kan geen selle in die geroteerde tabel wysig nie, want dit is baie afhanklik van die brondata. As jy probeer om een of ander selwaarde te verander, sal jy eindig met die "Jy kan nie deel van 'n skikking verander nie"-fout.
Opsomming, wat ook al goed en maklik om te gebruik die TRANSPOSE-funksie is , dit het beslis nie buigsaamheid nie en is dus dalk nie die beste niemanier om te gaan in baie situasies.
Vir meer inligting, sien asseblief Excel TRANSPOSE-funksie met voorbeelde.
Skakel ry na kolom om met INDIREKTE en ADRES-funksies
In hierdie voorbeeld, sal 'n kombinasie van twee funksies gebruik, wat 'n bietjie moeilik is. Dus, kom ons draai 'n kleiner tabel sodat ons beter op die formule kan fokus.
Gestel jy het data in 4 kolomme (A - D) en 5 rye (1 - 5):
Om kolomme na rye te laat oorskakel, doen die volgende:
- Voer die onderstaande formule in die mees linkse sel van die bestemmingsreeks in, sê A7, en druk die Enter-sleutel :
=INDIRECT(ADDRESS(COLUMN(A1),ROW(A1)))
- Kopieer die formule regs en afwaarts na soveel rye en kolomme as wat nodig is deur die 'n klein swart kruisie in die onderste regterkantste hoek van die geselekteerde selle te sleep:
Dit is dit! In jou nuutgeskepte tabel word al die kolomme na rye oorgeskakel.
As jou data in een of ander ry as 1 en ander kolom as A begin, sal jy 'n bietjie meer komplekse formule moet gebruik:
=INDIRECT(ADDRESS(COLUMN(A1) - COLUMN($A$1) + ROW($A$1), ROW(A1) - ROW($A$1) + COLUMN($A$1)))
Waar A1 die boonste linkerkantste sel van jou brontabel is. Let ook asseblief op die gebruik van absolute en relatiewe selverwysings.
Die getransponeerde selle lyk egter baie eenvoudig en dof, in vergelyking met die oorspronklike data:
Maar moenie teleurgesteld raak nie, hierdie probleem kan maklik opgelos word. Om die oorspronklike formatering te herstel, is dit wat jy doen:
- Kopieer die oorspronkliketabel.
- Kies die resulterende tabel.
- Regsklik op die resulterende tabel en kies Plakopsies > Formatering .
Voordele : Hierdie formule bied 'n meer buigsame manier om rye na kolomme in Excel te verander. Dit maak dit moontlik om enige veranderinge in die getransponeerde tabel te maak omdat jy 'n gewone formule gebruik, nie 'n skikkingsformule nie.
Tekortkominge : Ek kan net een sien - die formatering van die ordinale data is verlore. Jy kan dit egter vinnig herstel, soos hierbo getoon.
Hoe hierdie formule werk
Noudat jy weet hoe om die INDIREKTE / ADRES-kombinasie te gebruik, wil jy dalk die insig kry van wat die formule doen eintlik.
Soos die naam aandui, word die INDIREKTE funksie gebruik om indirek na 'n sel te verwys. Maar die werklike krag van INDIREK is dat dit enige string in 'n verwysing kan verander, insluitend 'n string wat jy opbou deur ander funksies en die waardes van ander selle te gebruik. En dit is presies wat ons gaan doen. As jy dit opvolg, sal jy al die res met gemak verstaan : )
Soos jy onthou, het ons nog 3 funksies in die formule gebruik - ADRES, KOLOM en RY.
Die ADRES-funksie kry die seladres deur die ry- en kolomnommers wat jy onderskeidelik spesifiseer. Onthou asseblief die volgorde: eerste - ry, tweede - kolom.
In ons formule verskaf ons die koördinate in die omgekeerde volgorde, en ditis wat eintlik die ding doen! Met ander woorde, hierdie deel van die formule ADRES(KOLOM(A1),RY(A1)) ruil rye na kolomme, d.w.s. neem 'n kolomnommer en verander dit na 'n rynommer, neem dan 'n rynommer en verander dit na 'n kolom nommer.
Laastens voer die INDIREKTE funksie die geroteerde data uit. Glad niks vreesliks nie, is dit?
Transponeer data in Excel met VBA-makro
Om die omskakeling van rye na kolomme in Excel te outomatiseer, kan jy die volgende makro gebruik:
Sub TransposeColumnsRows () Dim SourceRange As Range Dim DestRange As Range Stel SourceRange = Application.InputBox(Prompt:= "Kies asseblief die reeks om te transponeer" , Titel:= "Transponeer rye na kolomme" , Tipe :=8) Stel DestRange = Application.InputBox (Prompt:= "Kies die boonste linkersel van die bestemmingsreeks" , Titel:= "Transponeer rye na kolomme" , Tik :=8) SourceRange.Copy DestRange. Kies Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= False , Transpose:= True Application.CutCopyMode = False End SubOm 'n makro by jou werkblad te voeg, volg asseblief die riglyne beskryf in Hoe om in te voeg en hardloop VBA-kode in Excel.
Let wel. Transponeer met VBA, het 'n beperking van 65536 elemente. As jou skikking hierdie limiet oorskry, sal die ekstra data stilweg weggegooi word.
Hoe om die makro te gebruik om ry na kolom om te skakel
Met die makro in jou werkboek ingevoeg, voer die onderstaande uitstappe om jou tabel te draai:
- Maak die teikenwerkblad oop, druk Alt + F8 , kies die TransposeColumnsRows -makro, en klik Run .
Geniet die resultaat :)
Verander kolomme en rye met die Transpose-nutsding
As jy ry-tot-kolom-transformasies op 'n gereelde basis moet uitvoer, soek jy dalk eintlik 'n vinniger en eenvoudiger manier. Gelukkig het ek so 'n manier in my Excel, en so ook ander gebruikers van ons Ultimate Suite :)
Kom ek wys jou hoe om rye en kolomme in Excel letterlik in 'n paar kliks te wissel:
- Kies enige enkele sel in jou tabel, gaan na die Ablebits -oortjie > Transformeer -groep, en klik die Transponeer -knoppie.
As jy wil Slegs waardes plak of Skep skakels na brondata om die geroteerde tabel te dwing om outomaties by te werk met elke verandering wat jy aan die oorspronklike tabel maak, kies die ooreenstemmende opsie.
Klaar! Die tabel is getransponeer, die formatering word bewaar, geen verdere manipulasies is nodig nie:
As jy nuuskierig is om