A veces, es posible que tenga la necesidad de invertir los datos en Excel, es decir, invertir el orden de los datos al revés en un conjunto de datos vertical y de izquierda a derecha en un conjunto de datos horizontal.
Ahora, si está pensando que debe haber una función incorporada para hacer esto en Excel, me temo que se sentirá decepcionado.
Si bien hay varias formas de invertir los datos en Excel, no hay una función incorporada. Pero puede hacer esto fácilmente usando un simple truco de clasificación, fórmulas o VBA.
En este tutorial, le mostraré cómo voltear los datos en filas, columnas y tablas en Excel.
¡Entonces empecemos!
Voltear datos usando SORT y Helper Column
Una de las formas más fáciles de invertir el orden de los datos en Excel sería usar una columna auxiliar y luego usar esa columna auxiliar para ordenar los datos.
Voltear los datos verticalmente (orden inverso al revés)
Suponga que tiene un conjunto de datos de nombres en una columna como se muestra a continuación y desea invertir estos datos:
A continuación se muestran los pasos para voltear los datos verticalmente:
- En la columna adyacente, ingrese "Ayudante" como el encabezado de la columna.
- En la columna de ayuda, ingrese una serie de números (1, 2, 3, etc.). Puede utilizar los métodos que se muestran aquí para hacer esto rápidamente
- Seleccione todo el conjunto de datos, incluida la columna auxiliar.
- Haga clic en la pestaña Datos
- Haga clic en el icono Ordenar
- En el cuadro de diálogo Ordenar, seleccione "Asistente" en el menú desplegable "Ordenar por".
- En el menú desplegable Orden, seleccione "De mayor a menor".
- Haga clic en Aceptar
Los pasos anteriores ordenarían los datos según los valores de la columna auxiliar, lo que también conduciría a invertir el orden de los nombres en los datos.
Una vez hecho esto, no dude en eliminar la columna de ayuda.
En este ejemplo, le he mostrado cómo invertir los datos cuando solo tiene una columna, pero también puede usar la misma técnica si tiene una tabla completa. Solo asegúrese de seleccionar toda la tabla y luego use la columna auxiliar para ordenar los datos en orden descendente.
Voltear los datos horizontalmente
También puede seguir la misma metodología para voltear los datos horizontalmente en Excel.
Excel tiene una opción para ordenar los datos horizontalmente usando el cuadro de diálogo Ordenar (la función "Ordenar de izquierda a derecha").
Suponga que tiene una tabla como se muestra a continuación y desea voltear estos datos horizontalmente.
A continuación se muestran los pasos para hacer esto:
- En la fila siguiente, ingrese "Ayudante" como título de la fila.
- En la fila de ayuda, ingrese una serie de números (1, 2, 3, etc.).
- Seleccione todo el conjunto de datos, incluida la fila auxiliar.
- Haga clic en la pestaña Datos
- Haga clic en el icono Ordenar
- En el cuadro de diálogo Ordenar, haga clic en el botón Opciones.
- En el cuadro de diálogo que se abre, haga clic en "Ordenar de izquierda a derecha".
- Haga clic en Aceptar
- En el menú desplegable Ordenar por, seleccione Fila 3 (o cualquier fila que tenga su columna auxiliar)
- En el menú desplegable Orden, seleccione "De mayor a menor".
- Haga clic en Aceptar
Los pasos anteriores darían la vuelta a toda la mesa horizontalmente.
Una vez hecho esto, puede eliminar la fila de ayuda.
Voltear datos usando fórmulas
Microsoft 365 tiene algunas fórmulas nuevas que hacen que sea realmente fácil invertir el orden de una columna o una tabla en Excel.
En esta sección, le mostraré cómo hacer esto usando la fórmula SORTBY (si está usando Microsoft 365) o la fórmula INDEX (si no está usando Microsoft 365)
Usando la función SORTBY (disponible en Microsoft 365)
Suponga que tiene una tabla como se muestra a continuación y desea invertir los datos en esta tabla:
Para hacer esto, primero, copie los encabezados y colóquelos donde le gustaría que la tabla volteara
Ahora, use la siguiente fórmula debajo de la celda en el encabezado más a la izquierda:
= CLASIFICAR ($ A $ 2: $ B $ 12, FILA (A2: A12), - 1)
La fórmula anterior ordena los datos y utiliza el resultado de la función FILA como base para ordenarlos.
La función FILA en este caso devolvería una matriz de números que representa los números de fila entre el rango especificado (que en este ejemplo sería una serie de números como 2, 3, 4, etc.).
Y dado que el tercer argumento de esta fórmula es -1, obligaría a la fórmula a ordenar los datos en orden descendente.
El registro que tiene el número de fila más alto iría en la parte superior y el que tiene el número de regla más bajo iría en la parte inferior, esencialmente invirtiendo el orden de los datos.
Una vez hecho esto, puede convertir la fórmula en valores para obtener una tabla estática.
Uso de la función INDEX
En caso de que no tenga acceso a la función ORDENAR, no se preocupe, puede utilizar la increíble función INDICE.
Suponga que tiene un conjunto de datos de nombres como se muestra a continuación y desea invertir estos datos.
A continuación se muestra la fórmula para hacer esto:
= ÍNDICE ($ A $ 2: $ A $ 12, FILAS (A2: $ A $ 12))
¿Cómo funciona esta fórmula?
La fórmula anterior usa la función INDICE que devolvería el valor de la celda según el número especificado en el segundo argumento.
La verdadera magia ocurre en el segundo argumento donde he usado la función FILAS.
Como he bloqueado la segunda parte de la referencia en la función FILAS, en la primera celda, devolvería el número de filas entre A2 y A12, que sería 11.
Pero cuando baje las filas, la primera referencia cambiaría a A3, y luego A4, y así sucesivamente, mientras que la segunda referencia permanecería como está porque la he bloqueado y la he convertido en absoluta.
A medida que bajamos por las filas, el resultado de la función FILAS disminuiría en 1, de 11 a 10 a 9, y así sucesivamente.
Y dado que la función INDICE nos devuelve el valor basado en el número en el segundo argumento, esto finalmente nos daría los datos en el orden inverso.
Puede utilizar la misma fórmula incluso si tiene varias columnas en el conjunto de datos. sin embargo, tendrá que especificar un segundo argumento que especifique el número de columna desde el cual se deben obtener los datos.
Suponga que tiene un conjunto de datos como se muestra a continuación y desea invertir el orden de toda la tabla:
A continuación se muestra la fórmula que lo hará por usted:
= ÍNDICE ($ A $ 2: $ B $ 12, FILAS (A2: $ A $ 12), COLUMNAS ($ A $ 2: A2))
Esta es una fórmula similar en la que también agregué un tercer argumento que especifica el número de columna de la que se debe obtener el valor.
Para hacer que esta fórmula sea dinámica, he usado la función COLUMNAS que seguiría cambiando el valor de la columna de 1 a 2 a 3 a medida que la copia a la derecha.
Una vez hecho esto, puede convertir las fórmulas en valores para asegurarse de tener un resultado estático.
Nota: Cuando usa una fórmula para invertir el orden de un conjunto de datos en Excel, no conservaría el formato original. Si también necesita el formato original en los datos ordenados, puede aplicarlo manualmente o copiar y pegar el formato del conjunto de datos original en el nuevo conjunto de datos ordenadosVoltear datos usando VBA
Si cambiar los datos en Excel es algo que tiene que hacer con bastante frecuencia, también puede probar el método VBA.
Con un código de macro de VBA, puede copiarlo y pegarlo una vez dentro del libro de trabajo en el editor de VBA, y luego reutilizarlo una y otra vez en el mismo libro de trabajo.
También puede guardar el código en el Libro de macros personal o como un complemento de Excel y poder utilizarlo en cualquier libro de trabajo de su sistema.
A continuación se muestra el código VBA que voltearía los datos seleccionados verticalmente en la hoja de trabajo.
Sub FlipVerically () 'Código por Sumit Bansal de TrumpExcel.com Dim TopRow como variante Dim LastRow como variante Dim StartNum como entero Dim EndNum como entero Application.ScreenUpdating = False StartNum = 1 EndNum = Selection.Rows.Count Do While StartNum <EndNum TopRow = Selection.Rows (StartNum) LastRow = Selection.Rows (EndNum) Selection.Rows (EndNum) = TopRow Selection.Rows (StartNum) = LastRow StartNum = StartNum + 1 EndNum = EndNum - 1 Loop Application.ScreenUpdating = True End Sub
Para usar este código, primero debe realizar la selección del conjunto de datos que desea revertir (excluyendo los encabezados) y luego ejecutar este código.
¿Cómo funciona este código?
El código anterior primero cuenta el número total de filas en el conjunto de datos y lo asigna a la variable EndNum.
Luego usa el ciclo Do While donde ocurre la clasificación de los datos.
La forma en que ordena estos datos es tomando la primera y la última fila e intercambiándolas. Luego se mueve a la segunda fila en la penúltima fila y luego los intercambia. Luego se mueve a la tercera fila en la tercera última fila y así sucesivamente.
El ciclo termina cuando se realiza toda la clasificación.
También usa la propiedad Application.ScreenUpdating y la establece en FALSE mientras se ejecuta el código, y luego lo vuelve a convertir en TRUE cuando el código ha terminado de ejecutarse.
Esto asegura que no vea los cambios que ocurren en tiempo real en su pantalla y también acelera el proceso.
¿Cómo utilizar el Código?
Siga los pasos a continuación para copiar y pegar este código en el Editor de VB:
- Abra el archivo de Excel donde desea agregar el código VBA
- Mantenga presionada la tecla ALT y presione la tecla F-11 (también puede ir a la pestaña Desarrollador y hacer clic en el icono de Visual Basic)
- En el Editor de Visual Basic que se abre, habría un Explorador de proyectos en la parte izquierda del editor de VBA. Si no lo ve, haga clic en la pestaña "Ver" y luego haga clic en "Explorador de proyectos"
- Haga clic con el botón derecho en cualquiera de los objetos del libro en el que desea agregar el código
- Vaya a la opción Insertar y luego haga clic en Módulo. Esto agregará un nuevo módulo al libro de trabajo
- Haga doble clic en el icono del módulo en el Explorador de proyectos. Esto abrirá la ventana de código para ese módulo.
- Copie y pegue el código VBA anterior en la ventana de código
Para ejecutar el código de macro de VBA, primero seleccione el conjunto de datos que desea voltear (excluyendo los encabezados).
Con los datos seleccionados, vaya al Editor VB y haga clic en el botón de reproducción verde en la barra de herramientas, o seleccione cualquier línea en el código y luego presione la tecla F5
Estos son algunos de los métodos que puede utilizar para invertir los datos en Excel (es decir, invertir el orden del conjunto de datos).
Todos los métodos que he cubierto en este tutorial (fórmulas, función SORT y VBA), se pueden usar para voltear los datos vertical y horizontalmente (tendrá que ajustar la fórmula y el código VBA en consecuencia para voltear los datos horizontalmente).
Espero que este tutorial te haya resultado útil.