Kuidas vahetada Excelis veerge ja ridu

  • Jaga Seda
Michael Brown

Õpetuses näidatakse erinevaid viise, kuidas Excelis ridu veergudeks vahetada: valemid, VBA-kood ja spetsiaalne tööriist.

Andmete ümberpaigutamine Excelis on paljudele kasutajatele tuttav ülesanne. Üsna sageli koostate keerulise tabeli, et aru saada, et seda on täiesti mõistlik pöörata, et andmeid paremini analüüsida või graafikutes esitada.

Selles artiklis leiate mitu võimalust ridade teisendamiseks veergudeks (või veergude muutmiseks ridadeks), ükskõik, kuidas te seda nimetate, see on sama asi : ) Need lahendused töötavad kõigis Excel 2010 kuni Excel 365 versioonides, hõlmavad paljusid võimalikke stsenaariume ja selgitavad kõige tüüpilisemaid vigu.

    Exceli ridade konverteerimine veergudeks, kasutades Paste Special'i funktsiooni

    Oletame, et teil on andmestik, mis sarnaneb alloleva graafiku ülemises osas kujutatud andmetega. Riikide nimed on korraldatud veergudesse, kuid riikide nimekiri on liiga pikk, seega on parem muuta veerud ridadeks, et tabel mahuks ekraanile:

    Ridade vahetamiseks veergudeks tehke järgmised toimingud:

    1. Valige algandmed. Kogu tabeli, st kõigi tabelis olevate andmetega lahtrite kiireks valimiseks vajutage Ctrl + Home ja seejärel Ctrl + Shift + End .
    2. Kopeeri valitud lahtrid kas paremklikkides valikul ja valides Koopia kontekstmenüüst või vajutades Ctrl + C .
    3. Valige sihtvahemiku esimene lahter.

      Valige kindlasti lahter, mis jääb väljapoole algseid andmeid sisaldavat vahemikku, nii et kopeerimis- ja kleebimisalad ei kattuksid. Näiteks kui teil on praegu 4 veergu ja 10 rida, on teisendatud tabelis 10 veergu ja 4 rida.

    4. Klõpsake sihtruutu paremal hiireklõpsuga ja valige Paste Special kontekstmenüüst, seejärel valige Transpose .

    Lisateavet leiate jaotisest Kuidas kasutada Excelis Paste Special'i.

    Märkus. Kui teie lähteandmed sisaldavad valemeid, kasutage kindlasti õigesti suhtelisi ja absoluutseid viiteid, sõltuvalt sellest, kas neid tuleks kohandada või jääda teatud lahtritele lukustatuks.

    Nagu te just nägite, võimaldab Paste Special funktsioon teil teha rea ja veeru (või veeru ja rea) vahelised teisendused sõna otseses mõttes mõne sekundiga. See meetod kopeerib ka teie algsete andmete vormingu, mis lisab veel ühe argumendi selle kasuks.

    Selline lähenemisviis on siiski kaks puudust mis takistavad, et seda saaks nimetada täiuslikuks lahenduseks andmete ümberpaigutamiseks Excelis:

    • See ei sobi hästi täisfunktsionaalsete Exceli tabelite pööramiseks. Kui te kopeerite kogu tabeli ja seejärel avate Paste Special dialoogi, leiate Transpose Sellisel juhul tuleb tabel kas ilma veergude päisteta kopeerida või teisendada see kõigepealt vahemikuks.
    • Paste Special > Transpose ei seo uut tabelit algsete andmetega, seega sobib see hästi ainult ühekordseks konverteerimiseks. Iga kord, kui lähteandmed muutuvad, tuleb protsessi korrata ja tabelit uuesti pöörata. Keegi ei taha ju raisata oma aega samade ridade ja veergude vahetamisele ikka ja jälle, eks?

    Kuidas transponeerida tabelit ja siduda see algsete andmetega

    Vaatame, kuidas saab ridu vahetada veergudeks, kasutades tuttavat Paste Special tehnikat, kuid ühendage saadud tabel algse andmekogumiga. Parim asi selle lähenemisviisi juures on see, et kui te muudate andmeid lähtetabelis, kajastab ümberpööratud tabel muutusi ja ajakohastab neid vastavalt.

    1. Kopeerige read, mida soovite teisendada veergudeks (või veerud, mida soovite muuta ridadeks).
    2. Valige tühi lahter samal või teisel töölehel.
    3. Avage Paste Special dialoogi, nagu on selgitatud eelmises näites, ja klõpsake nuppu Paste Link vasakus alumises nurgas:

    Tulemus on sarnane sellele:

  • Valige uus tabel ja avage Exceli dialoog Find and Replace (või vajutage Ctrl + H, et jõuda dialoogiaknasse Asendage vahekaart kohe).
  • Asendage kõik "=" märgid "xxx" või mis tahes muu(de)ga, mida teie tegelikes andmetes ei ole.
  • See muudab teie tabeli veidi hirmutavaks, nagu näete alloleval ekraanipildil, kuid ärge paanitsege, vaid 2 sammu veel ja saavutate soovitud tulemuse.

  • Kopeeri tabel "xxx" väärtustega ja kasuta seejärel funktsiooni Paste Special> Transpose veerud ridadeks keerata
  • Lõpuks avage Leia ja asenda dialoogi veel üks kord, et muuta muudatus vastupidiseks, st asendada kõik "xxx" "="-ga, et taastada lingid algsetesse lahtritesse.
  • See on natuke pikk, kuid elegantne lahendus, kas pole? Selle lähenemise ainus puudus on see, et algne vormindus läheb protsessi käigus kaduma ja te peate selle käsitsi taastama (ma näitan teile selle kiire viisi, kuidas seda teha edasi selles õpetuses).

    Kuidas Exceli transponeerida valemite abil

    Kiirem viis veergude dünaamiliseks vahetamiseks ridade vahel Excelis on kasutada valemit TRANSPOSE või INDEX/ADDRESS. Nagu eelmine näide, säilitavad ka need valemid seoseid algsete andmetega, kuid töötavad veidi teisiti.

    Exceli ridade muutmine veergudeks TRANSPOSE-funktsiooni abil

    Nagu nimigi ütleb, on funktsioon TRANSPOSE spetsiaalselt mõeldud andmete ümberpaigutamiseks Excelis:

    =TRANSPOSE(array)

    Selles näites konverteerime teise tabeli, mis loetleb USA osariike rahvaarvu järgi:

    1. Loendage oma algse tabeli ridade ja veergude arv ja valige sama arv tühje lahtreid, kuid teises suunas.

      Näiteks meie näidistabelis on 7 veergu ja 6 rida, sealhulgas pealkirjad. Kuna funktsioon TRANSPOSE muudab veerud ridadeks, valime vahemiku 6 veergu ja 7 rida.

    2. Kui tühjad lahtrid on valitud, sisestage see valem:

      =TRANSPOSE(A1:G6)

    3. Kuna meie valemit tuleb rakendada mitmele lahtrile, vajutage Ctrl + Shift + Enter, et muuta see massiivi valemiks.

    Voilà, veerud on muudetud ridadeks, täpselt nii, nagu me tahtsime:

    TRANSPOSE funktsiooni eelised:

    TRANSPOSE-funktsiooni kasutamise peamine eelis on see, et pööratud tabel säilitab ühenduse lähtetabeliga ja alati, kui muudate lähteandmeid, muutub vastavalt ka ümberpööratud tabel.

    TRANSPOSE-funktsiooni nõrkused:

    • Esialgset tabeli vormingut ei salvestata teisendatud tabelisse, nagu näete ülaltoodud ekraanipildil.
    • Kui algses tabelis on tühje lahtreid, sisaldavad transponeeritud lahtrid selle asemel 0. Selle parandamiseks kasutage TRANSPOSE koos IF-funktsiooniga, nagu on selgitatud selles näites: Kuidas transponeerida ilma nullideta.
    • Te ei saa muuta ühtegi lahtrit pööratud tabelis, sest see sõltub väga palju lähteandmetest. Kui proovite muuta mõne lahtri väärtust, saate vea "Te ei saa muuta massiivi osa".

    Kokkuvõtteks võib öelda, et ükskõik kui hea ja lihtne TRANSPOSE-funktsioon on, puudub tal kindlasti paindlikkus ja seetõttu ei pruugi see olla paljudes olukordades parim viis.

    Lisateavet leiate Exceli TRANSPOSE-funktsioonist koos näidetega.

    Muuta rida veergudeks funktsioonide INDIRECT ja ADDRESS abil

    Selles näites kasutatakse kahe funktsiooni kombinatsiooni, mis on natuke keeruline. Nii et keerame väiksema tabeli, et saaksime paremini keskenduda valemile.

    Oletame, et teil on andmed 4 veerus (A-D) ja 5 reas (1-5):

    Veergude vahetamiseks ridadeks tehke järgmist:

    1. Sisestage alltoodud valem sihtvahemiku kõige vasakpoolsemasse lahtrisse, näiteks A7, ja vajutage klahvi Enter:

      =INDIRECT(AADRESS(VEERG(A1),RIDA(A1)))

    2. Kopeerige valemit paremale ja allapoole nii paljudesse ridadesse ja veergudesse kui vaja, lohistades väikest musta risti valitud lahtrite alumises paremas nurgas:

    See ongi kõik! Teie äsja loodud tabelis on kõik veerud muudetud ridadeks.

    Kui teie andmed algavad mõnel muul real kui 1 ja muul veerul kui A, peate kasutama veidi keerukamat valemit:

    =INDIRECT(AADRESS(VEERG(A1) - VEERG($A$1) + RIDA($A$1), RIDA(A1) - RIDA($A$1) + VEERG($A$1)))

    Kus A1 on teie lähtetabeli vasakpoolseim ülemine lahter. Pidage silmas ka absoluutsete ja suhteliste lahtriviidete kasutamist.

    Ümberpaigutatud lahtrid näevad aga originaalandmetega võrreldes väga lihtsad ja tuhmid välja:

    Kuid ärge pettuge, seda probleemi saab hõlpsasti lahendada. Algse vormingu taastamiseks tehke järgmist:

    • Kopeerige originaaltabel.
    • Valige saadud tabel.
    • Tehke tulemuseks oleval tabelil paremklõps ja valige Paste Valikud > Vormindamine .

    Eelised : See valem annab paindlikuma viisi Exceli ridade muutmiseks veergudeks. See võimaldab teha transponeeritud tabelis mis tahes muudatusi, sest te kasutate tavalist valemit, mitte massiivi valemit.

    Puudujäägid : Ma näen ainult ühte - ordinaalandmete vorming on kadunud. Kuigi, selle saab kiiresti taastada, nagu eespool näidatud.

    Kuidas see valem töötab

    Nüüd, kui te teate, kuidas kasutada kombinatsiooni INDIRECT / ADDRESS, võite saada ülevaate sellest, mida see valem tegelikult teeb.

    Nagu nimigi ütleb, kasutatakse funktsiooni INDIRECT, et kaudselt viidata lahtrisse. Kuid INDIRECTi tõeline võimsus seisneb selles, et see võib muuta mis tahes stringi viiteks, kaasa arvatud stringi, mille sa ehitad üles teiste funktsioonide ja teiste lahtrite väärtuste abil. Ja täpselt seda me ka teeme. Kui sa seda jälgid, siis saad ka kõigest muust hõlpsasti aru : )

    Nagu mäletate, oleme kasutanud veel 3 funktsiooni valemis - ADRESS, COLUMN ja ROW.

    Funktsioon ADDRESS saab lahtri aadressi vastavalt teie poolt määratud rea ja veeru numbri järgi. Pidage meeles järjekorda: esimene - rida, teine - veerg.

    Meie valemis anname koordinaadid vastupidises järjekorras ja see on see, mis tegelikult teebki triki! Teisisõnu, see osa valemist ADDRESS(COLUMN(A1),ROW(A1)) vahetab read veergudeks, st võtab veeru numbri ja muudab selle rea numbriks, seejärel võtab rea numbri ja muudab selle veeru numbriks.

    Lõpuks väljastab funktsioon INDIRECT pööratud andmed. Pole ju midagi hirmsat?

    Andmete transponeerimine Excelis VBA makro abil

    Ridade veerudeks muutmise automatiseerimiseks Excelis saate kasutada järgmist makrot:

    Sub TransposeColumnsRows() Dim SourceRange As Range Dim DestRange As Range Set SourceRange = Application.InputBox(Prompt:= "Palun valige ümberpaigutatav vahemik" , Title:= "Transpose Rows to Columns" , Type :=8) Set DestRange = Application.InputBox(Prompt:= "Select the upper left cell of the destination range" , Title:= "Transpose Rows to Columns" , Type :=8) SourceRange.Copy DestRange. SelectSelection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= False , Transpose:= True Application.CutCopyMode = False End Sub

    Makro lisamiseks töölehele järgige juhiseid, mis on kirjeldatud peatükis Kuidas sisestada ja käivitada VBA-koodi Excelis.

    Märkus. VBA-ga transponeerimisel on piirang 65536 elemendi ulatuses. Kui teie massiivi ületab seda piirangut, siis liigsed andmed visatakse vaikselt ära.

    Kuidas kasutada makrot, et teisendada rida veergudeks

    Kui makro on sisestatud teie töövihikusse, tehke tabeli pööramiseks järgmised sammud:

    1. Avage sihttööleht, vajutage Alt + F8 , valige faili TransposeColumnsRows makro ja klõpsake Käivita .

  • Valige vahemik, kus soovite ridu ja veerge vahetada, ja klõpsake nuppu OK :
  • Valige sihtvahemiku vasakpoolne ülemine lahter ja klõpsake nuppu OK :
  • Nautige tulemust :)

    Vahetage veergusid ja ridu tööriista Transpose abil

    Kui teil on vaja regulaarselt teostada ridade ja veergude teisendusi, võite tegelikult otsida kiiremat ja lihtsamat viisi. Õnneks on mul selline viis Excelis olemas, ja nii on ka teistel meie Ultimate Suite'i kasutajatel :)

    Näitan teile, kuidas vahetada Exceli ridu ja veerge sõna otseses mõttes paari klõpsuga:

    1. Valige ükskõik milline lahter oma tabelis, minge tabelisse Ablebits tab> Transform gruppi ja klõpsake nuppu Transpose nupp.

  • Vaikimisi seaded toimivad enamasti hästi, nii et te lihtsalt klõpsate Transpose ilma midagi muutmata.
  • Kui soovite Ainult väärtuste kleepimine või Luua lingid lähteandmetele kui soovite sundida pööratud tabelit uuendama automaatselt iga muudatuse korral, mida te algses tabelis teete, valige vastav valik.

    Valmis! Tabel on ümber paigutatud, vormindus on säilinud, edasisi manipulatsioone ei ole vaja teha:

    Kui olete uudishimulik, et proovida seda ja 70+ muud professionaalset tööriista Exceli jaoks, siis kutsun teid üles laadima alla meie Ultimate Suite'i prooviversiooni. Tänan teid lugemise eest ja loodan, et näeme teid järgmisel nädalal meie blogis!

    Michael Brown on pühendunud tehnoloogia entusiast, kelle kirg on tarkvaratööriistade abil keerukate protsesside lihtsustamine. Rohkem kui kümneaastase kogemusega tehnoloogiatööstuses on ta lihvinud oma oskusi Microsoft Excelis ja Outlookis, samuti Google Sheetsis ja Docsis. Michaeli ajaveebi eesmärk on jagada oma teadmisi ja teadmisi teistega, pakkudes hõlpsasti järgitavaid näpunäiteid ja õpetusi tootlikkuse ja tõhususe parandamiseks. Olenemata sellest, kas olete kogenud professionaal või algaja, pakub Michaeli ajaveebi väärtuslikke teadmisi ja praktilisi nõuandeid nende oluliste tarkvaratööriistade maksimaalseks kasutamiseks.