Taula de continguts
El tutorial mostra diferents maneres de canviar les files a les columnes a Excel: fórmules, codi VBA i una eina especial.
Transposar dades a Excel és la tasca que coneixen molts usuaris. Sovint creeu una taula complexa només per adonar-vos que té molt sentit girar-la per a una millor anàlisi o presentació de dades en gràfics.
En aquest article trobareu diverses maneres de convertir files en columnes (o columnes a files), sigui com l'anomenis, és el mateix : ) Aquestes solucions funcionen en totes les versions d'Excel 2010 a Excel 365, cobreixen molts escenaris possibles i expliquen els errors més habituals.
Converteix files en columnes a l'Excel amb l'opció Enganxa especial
Suposem que teniu un conjunt de dades similar al que veieu a la part superior dels gràfics següents. Els noms de països s'organitzen en columnes, però la llista de països és massa llarga, així que millor que canviem les columnes per files perquè la taula encaixi a la pantalla:
Per canviar les files a les columnes, seguiu aquests passos:
- Seleccioneu les dades originals. Per seleccionar ràpidament tota la taula, és a dir, totes les cel·les amb dades d'un full de càlcul, premeu Ctrl + Inici i després Ctrl + Maj + Final .
- Copieu les cel·les seleccionades fent clic amb el botó dret a la selecció i escollint Copieu des del menú contextual o premeu Ctrl + C .
- Seleccioneu la primera cel·la de l'interval de destinació.
Assegureu-vos de seleccionar una cel·la queproveu aquesta i més de 70 eines professionals per a Excel, us convido a descarregar una versió de prova de la nostra Ultimate Suite. Gràcies per llegir-nos i espero veure't al nostre blog la setmana vinent!
queda fora de l'interval que conté les vostres dades originals, de manera que les àrees de còpia i les àrees d'enganxar no es superposen. Per exemple, si actualment teniu 4 columnes i 10 files, la taula convertida tindrà 10 columnes i 4 files. - Feu clic amb el botó dret a la cel·la de destinació i trieu Enganxa especial al menú. menú contextual i, a continuació, seleccioneu Transposa .
Per obtenir més informació, vegeu Com utilitzar l'opció Enganxa especial a Excel.
Nota. Si les dades d'origen contenen fórmules, assegureu-vos d'utilitzar correctament les referències relatives i absolutes en funció de si s'han d'ajustar o romandre bloquejades a determinades cel·les.
Com acabeu de veure, la funció Enganxa especial us permet realitzar transformacions fila a columna (o columna a fila) literalment en pocs segons. Aquest mètode també copia el format de les vostres dades originals, la qual cosa afegeix un argument més al seu favor.
No obstant això, aquest enfocament té dos inconvenients que impedeixen que es digui una solució perfecta per a la transposició. dades a Excel:
- No és adequat per girar taules d'Excel totalment funcionals. Si copieu tota la taula i després obriu el diàleg Enganxa especial , trobareu l'opció Transposa desactivada. En aquest cas, primer cal copiar la taula sense capçaleres de columna o convertir-la en un interval.
- Enganxa especial > Transposa no enllaça la nova taulaamb les dades originals, de manera que només és adequat per a conversions puntuals. Sempre que canvien les dades d'origen, haureu de repetir el procés i girar la taula de nou. Ningú voldria perdre el temps canviant les mateixes files i columnes una i altra vegada, oi?
Com transposar una taula i enllaçar-la a les dades originals
Anem a Vegeu com podeu canviar les files a les columnes mitjançant la tècnica familiar Enganxa especial , però connecteu la taula resultant al conjunt de dades original. El millor d'aquest enfocament és que sempre que canvieu les dades de la taula d'origen, la taula invertida reflectirà els canvis i actualitzarà en conseqüència.
- Copieu les files que voleu convertir en columnes (o columnes). canviarà a files).
- Seleccioneu una cel·la buida al mateix full de treball o a un altre.
- Obre el diàleg Enganxa especial , tal com s'explica a l'exemple anterior i fes clic a Enganxa l'enllaç a l'extrem inferior esquerre:
Tindreu un resultat semblant a aquest:
Això convertirà la vostra taula en quelcom una mica espantós, com veieu a la captura de pantalla següent, però no us espanteu,només 2 passos més i aconseguireu el resultat desitjat.
Aquesta és una solució una mica llarga però elegant, no? L'únic inconvenient d'aquest enfocament és que el format original es perd en el procés i haureu de restaurar-lo manualment (us us mostraré una manera ràpida de fer-ho més endavant en aquest tutorial).
Com per transposar a Excel mitjançant fórmules
Una manera més ràpida de canviar dinàmicament columnes a files a Excel és mitjançant la fórmula TRANSPOSE o INDEX/ADDRESS. Com l'exemple anterior, aquestes fórmules també mantenen les connexions amb les dades originals, però funcionen una mica diferent.
Canvia les files per columnes a Excel mitjançant la funció TRANSPOSE
Com el seu nom indica, la funció TRANSPOSE està especialment dissenyat per a la transposició de dades a Excel:
=TRANSPOSE(matriu)En aquest exemple, convertirem una altra taula que enumera els estats dels EUA per població:
- Compteu el nombre de files i columnes de la taula original i seleccioneu el mateix nombre de cel·les en blanc, però en l'altra direcció.
Per exemple, la nostra taula de mostra té 7 columnes i 6 files, inclòsencapçalaments. Com que la funció TRANSPOSE canviarà les columnes a les files, seleccionem un rang de 6 columnes i 7 files.
- Amb les cel·les buides seleccionades, escriviu aquesta fórmula:
=TRANSPOSE(A1:G6)
- Com que la nostra fórmula s'ha d'aplicar a diverses cel·les, premeu Ctrl + Maj + Retorn per convertir-la en una fórmula de matriu.
Voilà, les columnes són canviat a files, exactament com volíem:
Avantatges de la funció TRANSPOSE:
El principal avantatge d'utilitzar la funció TRANSPOSE és que la taula girada manté la connexió amb la taula d'origen i sempre que canvieu les dades d'origen, la taula transposada canviarà en conseqüència.
Debilitats de la funció TRANSPOSE:
- El format de la taula original no es desa a la taula convertida, com veieu a la captura de pantalla anterior.
- Si hi ha cap cel·la buida a la taula original, les cel·les transposades tindran 0 en lloc d'això. Per solucionar-ho, utilitzeu TRANSPOSE en combinació amb la funció SI tal com s'explica en aquest exemple: Com transposar sense zeros.
- No podeu editar cap cel·la de la taula girada perquè depèn molt de les dades d'origen. Si intenteu canviar algun valor de cel·la, acabareu amb l'error "No podeu canviar part d'una matriu".
Acabar, sigui quina sigui bona i fàcil d'utilitzar la funció TRANSPOSE. , sens dubte li falta flexibilitat i, per tant, pot ser que no sigui el millorcamí a seguir en moltes situacions.
Per obtenir més informació, vegeu la funció TRANSPOSE d'Excel amb exemples.
Converteix fila en columna amb les funcions INDIRECTA i ADREÇA
En aquest exemple, utilitzarà una combinació de dues funcions, que és una mica complicat. Per tant, girem una taula més petita per poder centrar-nos millor en la fórmula.
Suposem que teniu dades en 4 columnes (A - D) i 5 files (1 - 5):
Per canviar les columnes a files, feu el següent:
- Introduïu la fórmula següent a la cel·la més esquerra de l'interval de destinació, per exemple A7, i premeu la tecla Intro :
=INDIRECT(ADDRESS(COLUMN(A1),ROW(A1)))
- Copieu la fórmula cap a la dreta i cap avall a tantes files i columnes com sigui necessari arrossegant la petita creu negra a l'angle inferior dret de les cel·les seleccionades:
Això és! A la taula que acabeu de crear, totes les columnes es canvien a files.
Si les vostres dades comencen en una fila diferent de l'1 i una columna diferent de la A, haureu d'utilitzar una fórmula una mica més complexa:
=INDIRECT(ADDRESS(COLUMN(A1) - COLUMN($A$1) + ROW($A$1), ROW(A1) - ROW($A$1) + COLUMN($A$1)))
On A1 és la cel·la més amunt a l'esquerra de la taula d'origen. A més, tingueu en compte l'ús de referències de cel·les absolutes i relatives.
No obstant això, les cel·les transposades semblen molt senzilles i avorrides, en comparació amb les dades originals:
Però no us decebeu, aquest problema es pot solucionar fàcilment. Per restaurar el format original, això és el que feu:
- Copieu l'originaltaula.
- Seleccioneu la taula resultant.
- Feu clic amb el botó dret a la taula resultant i trieu Opcions d'enganxar > Format .
Avantatges : aquesta fórmula proporciona una manera més flexible de convertir les files en columnes a Excel. Permet fer qualsevol canvi a la taula transposada perquè utilitzeu una fórmula normal, no una fórmula de matriu.
Defectes : només en veig un: es perd el format de les dades ordinals. Tot i això, podeu restaurar-lo ràpidament, tal com es mostra més amunt.
Com funciona aquesta fórmula
Ara que ja sabeu com utilitzar la combinació INDIRECTA/ADREÇA, potser voldreu obtenir informació sobre què la fórmula en realitat està fent.
Com el seu nom indica, la funció INDIRECTA s'utilitza per fer referència indirecta a una cel·la. Però el poder real d'INDIRECT és que pot convertir qualsevol cadena en una referència, inclosa una cadena que creeu utilitzant altres funcions i els valors d'altres cel·les. I això és exactament el que farem. Si seguiu això, entendreu tota la resta amb facilitat : )
Com recordeu, hem utilitzat 3 funcions més a la fórmula: ADREÇA, COLUMNA i FILA.
La funció ADRESSE obté l'adreça de la cel·la pels números de fila i columna que especifiqueu, respectivament. Recordeu l'ordre: primera - fila, segona - columna.
A la nostra fórmula, proporcionem les coordenades en ordre invers, i aixòés el que realment fa el truc! En altres paraules, aquesta part de la fórmula ADDRESS(COLUMN(A1),ROW(A1)) intercanvia files per columnes, és a dir, pren un número de columna i el canvia a un número de fila, després agafa un número de fila i el converteix en una columna. número.
Finalment, la funció INDIRECTA genera les dades girades. No hi ha res terrible, oi?
Transposar dades a Excel mitjançant la macro VBA
Per automatitzar la conversió de files a columnes a Excel, podeu utilitzar la macro següent:
Sub TransposeColumnsRows () Dim SourceRange As Range Dim DestRange As Range Set SourceRange = Application.InputBox(Prompt:= "Seleccioneu l'interval a transposar", Title:= "Transposa files a columnes" , Type :=8) Set DestRange = Application.InputBox (Prompt:= "Seleccioneu la cel·la superior esquerra de l'interval de destinació" , Title:= "Transposa les files a les columnes" , Type :=8) SourceRange.Copy DestRange. Seleccioneu Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= False , Transpose:= True Application.CutCopyMode = False End SubPer afegir una macro al vostre full de treball, seguiu les directrius descrites a Com inserir i executeu el codi VBA a Excel.
Nota. La transposició amb VBA té una limitació de 65536 elements. En cas que la vostra matriu superi aquest límit, les dades addicionals s'eliminaran en silenci.
Com utilitzar la macro per convertir fila en columna
Amb la macro inserida al vostre llibre de treball, feu el següentpassos per girar la taula:
- Obre el full de treball de destinació, premeu Alt + F8 , seleccioneu la macro TransposaColumnsRows i feu clic a Executa .
Gaudeu del resultat :)
Canvia columnes i files amb l'eina Transposa
Si necessiteu realitzar transformacions de fila a columna de manera regular, és possible que busqueu una manera més ràpida i senzilla. Afortunadament, tinc una manera així al meu Excel, i també ho fan altres usuaris de la nostra Suite Ultimate :)
Permeteu-me que us ensenyarà com canviar files i columnes a Excel literalment en un parell de clics:
- Seleccioneu qualsevol cel·la de la vostra taula, aneu a la pestanya Ablebits > Transforma i feu clic al botó Transposa .
Si voleu Enganxar només valors o Crear enllaços a les dades d'origen per forçar que la taula girada s'actualitzi automàticament amb cada canvi que feu a la taula original, seleccioneu el opció corresponent.
Fet! Es transposa la taula, es conserva el format, no calen més manipulacions:
Si tens curiositat per