Como cambiar columnas e filas en Excel

  • Comparte Isto
Michael Brown

O titorial mostra diferentes formas de cambiar filas a columnas en Excel: fórmulas, código VBA e unha ferramenta especial.

Transpoñer datos en Excel é a tarefa familiar para moitos usuarios. Moitas veces creas unha táboa complexa só para darte conta de que ten todo o sentido de rotala para unha mellor análise ou presentación dos datos en gráficos.

Neste artigo atoparás varias formas de converter filas en columnas (ou columnas a filas), como se chame, é o mesmo : ) Estas solucións funcionan en todas as versións de Excel 2010 a través de Excel 365, cobren moitos escenarios posibles e explican os erros máis típicos.

    Converte filas en columnas en Excel usando Pegar especial

    Supoñamos que tes un conxunto de datos semellante ao que ves na parte superior dos gráficos a continuación. Os nomes dos países están organizados en columnas, pero a lista de países é demasiado longa, polo que é mellor que cambiemos as columnas por filas para que a táboa encaixe na pantalla:

    Para cambiar filas a columnas, siga estes pasos:

    1. Seleccione os datos orixinais. Para seleccionar rapidamente toda a táboa, é dicir, todas as celas con datos nunha folla de cálculo, prema Ctrl + Inicio e despois Ctrl + Maiús + Fin .
    2. Copie as celas seleccionadas facendo clic co botón dereito na selección e escollendo Copia desde o menú contextual ou preme Ctrl + C .
    3. Selecciona a primeira cela do intervalo de destino.

      Asegúrese de seleccionar unha cela queproba esta e máis de 70 ferramentas profesionais para Excel, convídoche a descargar unha versión de proba da nosa Ultimate Suite. Grazas por ler e espero verte no noso blog a vindeira semana!

      queda fóra do intervalo que contén os teus datos orixinais, de xeito que as áreas de copia e pegar non se solapan. Por exemplo, se actualmente tes 4 columnas e 10 filas, a táboa convertida terá 10 columnas e 4 filas.
    4. Fai clic co botón dereito na cela de destino e escolla Pegar especial na cela. menú contextual e, a continuación, seleccione Transpoñer .

    Para obter máis información, consulte Como usar Pegar especial en Excel.

    Nota. Se os datos de orixe conteñen fórmulas, asegúrese de utilizar correctamente as referencias relativas e absolutas dependendo de se deben axustarse ou permanecer bloqueadas en determinadas celas.

    Como acabas de ver, a función Pegar especial permíteche realizar transformacións fila a columna (ou columna a fila) literalmente en poucos segundos. Este método tamén copia o formato dos teus datos orixinais, o que engade un argumento máis ao seu favor.

    Non obstante, este enfoque ten dous inconvenientes que impiden que se lle chame unha solución perfecta para a transposición. datos en Excel:

    • Non é moi axeitado para rotar táboas de Excel totalmente funcionais. Se copias toda a táboa e despois abres o diálogo Pegar especial , atoparás a opción Transpoñer desactivada. Neste caso, debes copiar a táboa sen cabeceiras de columna ou convertela nun intervalo primeiro.
    • Pegar especial > Transpoñer non vincula o novo táboacos datos orixinais, polo que só é adecuado para conversións puntuais. Sempre que cambien os datos de orixe, terás que repetir o proceso e xirar de novo a táboa. Ninguén querería perder o tempo cambiando as mesmas filas e columnas unha e outra vez, non?

    Como transpoñer unha táboa e vinculala aos datos orixinais

    Imos vexa como pode cambiar as filas a columnas usando a técnica familiar Pegar especial , pero conecta a táboa resultante ao conxunto de datos orixinal. O mellor deste enfoque é que sempre que cambies os datos da táboa de orixe, a táboa invertida reflectirá os cambios e actualizará en consecuencia.

    1. Copia as filas que queres converter en columnas (ou columnas). para cambiar a filas).
    2. Seleccione unha cela baleira na mesma folla de traballo ou noutra.
    3. Abre o diálogo Pegar especial , como se explica no exemplo anterior e fai clic en Pega a ligazón na esquina inferior esquerda:

    Terás un resultado semellante a este:

  • Seleccione a nova táboa e abra o diálogo Buscar e substituír de Excel (ou prema Ctrl + H para acceder á pestana Substituír inmediatamente).
  • Substituír todo " =" caracteres con "xxx" ou calquera outro(s) carácter(s) que non existan en ningún lugar dos teus datos reais.
  • Isto converterá a túa táboa en algo un pouco asustado, como ves na captura de pantalla a continuación, pero non te asustes,só 2 pasos máis e conseguirás o resultado desexado.

  • Copie a táboa cos valores "xxx" e, a continuación, use Pegar especial > Transpon para converter as columnas en filas
  • Por último, abra o diálogo Buscar e substituír unha vez máis para reverter o cambio, é dicir, substitúe todos os "xxx" por "=" para restaurar o ligazóns ás celas orixinais.
  • Esta é unha solución un pouco longa pero elegante, non é? O único inconveniente deste enfoque é que o formato orixinal pérdese no proceso e terás que restauralo manualmente (ensinareiche un xeito rápido de facelo máis adiante neste tutorial).

    Como para transpoñer en Excel usando fórmulas

    Unha forma máis rápida de cambiar dinámicamente columnas a filas en Excel é mediante a fórmula TRANSPOSE ou INDEX/ADDRESS. Como o exemplo anterior, estas fórmulas tamén manteñen as conexións cos datos orixinais pero funcionan de forma un pouco diferente.

    Cambia filas a columnas en Excel usando a función TRANSPOSE

    Como o seu nome indica, a función TRANSPOSE está especialmente deseñado para transpoñer datos en Excel:

    =TRANSPOSE(matriz)

    Neste exemplo, imos converter outra táboa que enumera os estados dos Estados Unidos por poboación:

    1. Conta o número de filas e columnas da túa táboa orixinal e selecciona o mesmo número de celas en branco, pero na outra dirección.

      Por exemplo, a nosa táboa de mostra ten 7 columnas e 6 filas, incluíndotítulos. Dado que a función TRANSPOSE cambiará de columnas a filas, seleccionamos un intervalo de 6 columnas e 7 filas.

    2. Coas celas baleiras seleccionadas, escriba esta fórmula:

      =TRANSPOSE(A1:G6)

    3. Dado que a nosa fórmula debe aplicarse a varias celas, preme Ctrl + Maiús + Intro para que sexa unha fórmula matricial.

    Voià, as columnas son cambiou a filas, exactamente como queriamos:

    Vantaxes da función TRANSPOSE:

    O principal beneficio de usar a función TRANSPOSE é que a táboa rotada mantén a conexión coa táboa de orixe e sempre que cambie os datos de orixe, a táboa transposta cambiará en consecuencia.

    Debilidades da función TRANSPOSE:

    • O formato orixinal da táboa non se garda na táboa convertida, como ves na captura de pantalla anterior.
    • Se hai celas baleiras na táboa orixinal, as celas transpostas conterán 0 no seu lugar. Para solucionar isto, use TRANSPOSE en combinación coa función SE como se explica neste exemplo: Como transpoñer sen ceros.
    • Non pode editar ningunha cela da táboa rotada porque depende moito dos datos de orixe. Se tentas cambiar algún valor da cela, terás o erro "Non podes cambiar parte dunha matriz". , certamente carece de flexibilidade e, polo tanto, pode non ser o mellorcamiño a seguir en moitas situacións.

    Para obter máis información, consulte a función TRANSPOSE de Excel con exemplos.

    Converte fila en columna coas funcións INDIRECTO e DIRECCIÓN

    Neste exemplo, empregará unha combinación de dúas funcións, o que é un pouco complicado. Entón, imos xirar unha táboa máis pequena para centrarnos mellor na fórmula.

    Supoñamos que tes datos en 4 columnas (A - D) e 5 filas (1 - 5):

    Para que as columnas cambien a filas, faga o seguinte:

    1. Introduza a fórmula de abaixo na cela máis á esquerda do intervalo de destino, digamos A7, e prema a tecla Intro :

      =INDIRECT(ADDRESS(COLUMN(A1),ROW(A1)))

    2. Copie a fórmula cara á dereita e cara abaixo ata tantas filas e columnas como sexa necesario arrastrando a pequena cruz negra na esquina inferior dereita das celas seleccionadas:

    Isto é! Na túa táboa recentemente creada, todas as columnas cambian a filas.

    Se os teus datos comezan nunha fila distinta da 1 e nunha columna distinta da A, terás que utilizar unha fórmula un pouco máis complexa:

    =INDIRECT(ADDRESS(COLUMN(A1) - COLUMN($A$1) + ROW($A$1), ROW(A1) - ROW($A$1) + COLUMN($A$1)))

    Onde A1 é a cela da parte superior esquerda da táboa de orixe. Ademais, teña en conta o uso de referencias de cela absolutas e relativas.

    Non obstante, as celas transpostas parecen moi simples e aburridas, en comparación cos datos orixinais:

    Pero non te decepciones, este problema pódese solucionar facilmente. Para restaurar o formato orixinal, fai isto:

    • Copia o orixinaltáboa.
    • Seleccione a táboa resultante.
    • Fai clic co botón dereito na táboa resultante e escolla Opcións de pegar > Formato .

    Vantaxes : esta fórmula ofrece un xeito máis flexible de converter filas en columnas en Excel. Permite facer calquera cambio na táboa transposta porque usa unha fórmula normal, non unha fórmula matricial.

    Deficiencias : só vexo un: pérdese o formato dos datos ordinais. Non obstante, podes restauralo rapidamente, como se mostra arriba.

    Como funciona esta fórmula

    Agora que xa sabes como usar a combinación INDIRECTO/ENDEREZO, quizais queiras coñecer o que a fórmula está a funcionar.

    Como o seu nome indica, a función INDIRECTA úsase para facer referencia indirecta a unha cela. Pero o poder real de INDIRECTO é que pode converter calquera cadea nunha referencia, incluída unha cadea que constrúe usando outras funcións e os valores doutras celas. E isto é exactamente o que imos facer. Se estás a seguir isto, entenderás todo o resto con facilidade : )

    Como lembras, usamos 3 funcións máis na fórmula: DIRECCIÓN, COLUMNA e FILA.

    A función DIRECCIÓN obtén o enderezo da cela polos números de fila e columna que especifique, respectivamente. Lembra a orde: primeira - fila, segunda - columna.

    Na nosa fórmula, proporcionamos as coordenadas na orde inversa, e istoé o que realmente fai o truco! Noutras palabras, esta parte da fórmula ADDRESS(COLUMN(A1),ROW(A1)) cambia filas a columnas, é dicir, toma un número de columna e cámbiao a un número de fila, despois toma un número de fila e convérteo nunha columna. número.

    Finalmente, a función INDIRECTA emite os datos rotados. Non é nada terrible, non é?

    Transpoñer datos en Excel mediante a macro VBA

    Para automatizar a conversión de filas en columnas en Excel, podes usar a seguinte macro:

    Sub TransposeColumnsRows () Dim SourceRange As Range Dim DestRange As Range Set SourceRange = Application.InputBox(Prompt:= "Seleccione o intervalo para transpoñer" , Title:= "Transpoñer filas a columnas" , Type :=8) Set DestRange = Application.InputBox (Prompt:= "Seleccione a cela superior esquerda do intervalo de destino", Título:= "Transpoñer filas a columnas" , Tipo :=8) SourceRange.Copy DestRange. Seleccione Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= False , Transpose:= True Application.CutCopyMode = False End Sub

    Para engadir unha macro á súa folla de traballo, siga as pautas descritas en Como inserir e executa o código VBA en Excel.

    Nota. A transposición con VBA ten unha limitación de 65536 elementos. No caso de que a matriz supere este límite, os datos adicionais eliminaranse silenciosamente.

    Como usar a macro para converter fila en columna

    Coa macro inserida no teu libro de traballo, fai o seguintepasos para xirar a táboa:

    1. Abre a folla de traballo de destino, prema Alt + F8 , selecciona a macro TransposeColumnsRows e fai clic en Executar .

  • Seleccione o intervalo onde quere cambiar de fila e columna e prema Aceptar :
  • Seleccione a cela superior esquerda do intervalo de destino e prema Aceptar :
  • Goza do resultado :)

    Cambia de columnas e filas coa ferramenta Transposición

    Se precisa realizar transformacións de fila a columna de forma regular, é posible que busque unha forma máis rápida e sinxela. Afortunadamente, teño un xeito así no meu Excel, e tamén o fan outros usuarios da nosa Ultimate Suite :)

    Déixeme mostrar como cambiar filas e columnas en Excel literalmente nun par de clics:

    1. Seleccione calquera cela da súa táboa, vai á pestana Ablebits > Transformar e faga clic no botón Transpoñer .

  • As opcións predeterminadas funcionan ben na maioría dos casos, polo que simplemente fai clic en Transpoñer sen cambiar nada.
  • Se queres Pegar só valores ou Crear ligazóns a datos de orixe para forzar que a táboa rotada se actualice automaticamente con cada cambio que fagas na táboa orixinal, selecciona o opción correspondente.

    Feito! Transponse a táboa, consérvase o formato, non se necesitan máis manipulacións:

    Se tes curiosidade por

    Michael Brown é un entusiasta da tecnoloxía dedicada á súa paixón por simplificar procesos complexos mediante ferramentas de software. Con máis dunha década de experiencia na industria tecnolóxica, perfeccionou as súas habilidades en Microsoft Excel e Outlook, así como en Follas de cálculo e Documentos de Google. O blog de Michael está dedicado a compartir o seu coñecemento e experiencia con outros, proporcionando consellos e titoriais fáciles de seguir para mellorar a produtividade e a eficiencia. Tanto se es un profesional experimentado como un principiante, o blog de Michael ofrece valiosas ideas e consellos prácticos para sacar o máximo proveito destas ferramentas de software esenciais.