Cómo eliminar todas las demás filas en Excel (o cada enésima fila)

Vea el video: elimine todas las demás filas en Excel

A veces, es posible que tenga la necesidad de eliminar cada dos filas (es decir, filas alternas) o cada tercera, cuarta o quinta fila en Excel.

Un caso de uso de esto podría ser cuando tiene datos semanales y solo desea los datos para semanas pares o impares. Otro podría ser cuando obtiene un volcado de datos de una base de datos y todos los datos útiles están solo en cada segunda o tercera fila.

Si bien siempre tiene la opción de seleccionar y eliminar filas manualmente, esto es ineficiente en caso de que tenga un conjunto de datos grande.

Hay mejores formas de hacer esto.

En este tutorial, le mostraré un par de formas de eliminar cada dos filas en Excel usando una técnica de filtrado simple. Y si está de acuerdo con el uso de un código de macro VBA, también le he dado un código VBA corto que lo hace con un solo clic. Los métodos que se muestran en este tutorial funcionan para todas las versiones de Excel (2007, 2010, 2013 y 2016)

Si bien eliminar todas las demás filas en Excel puede ser bastante simple, podría ser un desafío eliminar todas las demás columnas. Esto se debe a que no puede filtrar columnas en Excel (la forma en que puede filtrar filas). En la última sección de este tutorial, también le mostraré algunas formas de eliminar columnas alternativas (o cada columna N) en Excel.

Eliminar todas las demás filas filtrando el conjunto de datos (mediante fórmula)

Si de alguna manera pudiera filtrar todas las filas pares o impares, sería muy fácil eliminar estas filas / registros.

Si bien no hay una función incorporada para hacer esto, puede usar una columna auxiliar para dividir primero las filas en pares e impares, y luego filtrar según el valor de la columna auxiliar.

Suponga que tiene un conjunto de datos como se muestra a continuación, que tiene datos de ventas para cada representante de ventas para dos regiones (EE. UU. Y Canadá) y desea eliminar los datos de Canadá.

A continuación se muestran los pasos para filtrar primero y luego eliminar cada dos filas (que tienen datos para Canadá):

  1. En la celda adyacente al encabezado de la última columna, ingrese el texto AyudanteColumna (o cualquier texto de encabezado que desee que tenga la columna auxiliar)
  2. En la celda debajo del encabezado de la columna auxiliar, ingrese la siguiente fórmula: = ISEVEN (FILA ()). Copie esta fórmula para todas las celdas. Esta fórmula devuelve VERDADERO para todas las filas pares y FALSO para todas las filas IMPAR
  3. Seleccione todo el conjunto de datos (incluidas las celdas donde ingresamos la fórmula en el paso anterior).
  4. Haga clic en la pestaña Datos
  5. Haga clic en el icono de filtro. Esto aplicará un filtro a todos los encabezados del conjunto de datos.
  6. Haga clic en el icono de Filtro en la celda HelperColumn.
  7. Anule la selección de la opción VERDADERO (de modo que solo se seleccione la opción FALSO)
  8. Haga clic en Aceptar. Esto filtrará los datos y solo mostrará aquellos registros donde el valor de HelperColumn es FALSO.
  9. Seleccione todas las celdas filtradas en la columna auxiliar (excluyendo el encabezado)
  10. Haga clic derecho en cualquiera de las celdas seleccionadas y haga clic en "Eliminar fila"
  11. En el cuadro de diálogo que se abre, haga clic en Aceptar. Esto eliminará todos los registros visibles y, a partir de ahora, solo verá la fila del encabezado.
  12. Haga clic en la pestaña Datos y luego en el icono Filtro. Esto eliminará el filtro y podrá ver todos los registros restantes.

Los pasos anteriores filtran cada segunda fila en el conjunto de datos y luego eliminan esas filas.

No se preocupe por los valores de la columna auxiliar en esta etapa. Los datos resultantes tienen solo las filas de EE. UU. Y se eliminan todas las filas de Canadá. Puede eliminar la columna de ayuda ahora.

En caso de que desee eliminar cada dos filas a partir de la primera fila en adelante, seleccione la opción VERDADERO en el paso 7 y anule la selección de la opción FALSO.

Nota: Cuando elimina las filas en Excel usando el método anterior, también elimina cualquier dato que pueda tener en su totalidad (aparte del que está en el conjunto de datos). Cuando use este método, asegúrese de no tener nada a la izquierda y a la derecha del conjunto de datos que está eliminando.

Si bien el método anterior es excelente, tiene dos inconvenientes:

  1. Necesita agregar una nueva columna (el AyudanteColumna en nuestro ejemplo anterior)
  2. Puede llevar mucho tiempo si tiene que eliminar filas alternativas, haga esto con frecuencia
Tutorial relacionado: Eliminar filas según un valor de celda (o condición) en Excel

Elimine cada enésima fila filtrando el conjunto de datos (usando fórmula)

En el método anterior, le mostré cómo eliminar cada dos filas (filas alternativas) en Excel.

Y también puede usar la misma lógica para eliminar cada tercera o cuarta fila en Excel.

Suponga que tiene un conjunto de datos como se muestra a continuación y desea eliminar cada tercera fila.

Los pasos para eliminar cada tercera fila son casi los mismos que los que se describen en la sección anterior (para eliminar filas alternativas). La única diferencia está en la fórmula utilizada en el Paso 2.

A continuación se muestran los pasos para hacer esto:

  1. En la celda adyacente al encabezado de la última columna, ingrese el texto AyudanteColumna (o cualquier texto de encabezado que desee que tenga la columna auxiliar)
  2. En la celda debajo del encabezado de la columna auxiliar, ingrese la siguiente fórmula: = MOD (FILA (), 3) = 1. Esta fórmula devuelve VERDADERO para cada tercera fila y FALSO para cada dos filas.
  3. Seleccione todo el conjunto de datos (incluidas las celdas donde ingresamos la fórmula en el paso anterior).
  4. Haga clic en la pestaña Datos
  5. Haga clic en el icono de filtro. Esto aplicará un filtro a todos los encabezados del conjunto de datos.
  6. Haga clic en el icono de Filtro en la celda HelperColumn.
  7. Anule la selección de la opción VERDADERO (de modo que solo se seleccione la opción FALSO)
  8. Haga clic en Aceptar. Esto filtrará los datos y solo mostrará aquellos registros donde el valor de HelperColumn es FALSO.
  9. Seleccione todas las celdas en la columna auxiliar
  10. Haga clic derecho en cualquiera de las celdas seleccionadas y haga clic en Eliminar fila
  11. En el cuadro de diálogo que se abre, haga clic en Aceptar. Esto eliminará todos los registros visibles y solo verá la fila del encabezado a partir de ahora.
  12. Haga clic en la pestaña Datos y luego en el icono Filtro. Esto eliminará el filtro y podrá ver todos los registros restantes.

Los pasos anteriores eliminarían cada tercera fila del conjunto de datos y obtendría los datos resultantes como se muestra a continuación.

No se preocupe por los valores de la columna auxiliar en esta etapa. Puede eliminar la columna de ayuda ahora.

La fórmula utilizada en el Paso 2 usa la función MOD, que da el resto cuando un número se divide por el otro. Aquí he usado la función FILA para obtener el número de fila y está dividido por 3 (porque queremos eliminar cada tercera fila).

Dado que nuestro conjunto de datos comienza desde la segunda fila en adelante (es decir, la fila # 2 contiene el primer registro), utilizo la siguiente fórmula:= MOD (FILA (), 3) = 1

Lo estoy equiparando a 1 y por cada tercera fila, la fórmula MOD dará el resto como 1.

Puede ajustar la fórmula en consecuencia. Por ejemplo, si el primer registro de su conjunto de datos comienza desde la tercera fila en adelante, la fórmula sería = MOD (FILA (), 3) = 2

Elimine automáticamente cada otra fila (o fila enésima) usando la macro VBA (método rápido)

Si tiene que eliminar cada dos filas (o cada enésima fila) con bastante frecuencia, puede usar un código VBA y tenerlo disponible en la barra de herramientas de acceso rápido. Esto le permitirá eliminar rápidamente filas alternativas con un solo clic.

A continuación se muestra el código que primero le pide que seleccione el rango en el que desea eliminar filas alternativas y luego elimine cada segunda fila en el conjunto de datos seleccionado.

Sub Delete_Every_Other_Row () Dim Rng As Range Set Rng = Application.InputBox ("Seleccione el rango (excluyendo encabezados)", "Selección de rango", Tipo: = 8) Para i = Rng.Rows.Count To 1 Step -2 If i Mod 2 = 0 Luego Rng.Rows (i) .Borrar End If Next i End Sub

Cuando ejecute el código anterior, primero le pedirá que seleccione el rango de celdas. Una vez que haya realizado la selección, pasará por cada fila y eliminará cada segunda fila.

Si desea eliminar cada tercera fila, puede usar el siguiente código:

Sub Delete_Every_Third_Row () Dim Rng As Range Set Rng = Application.InputBox ("Seleccionar el rango (excluyendo encabezados)", "Selección de rango", Tipo: = 8) For i = Rng.Rows.Count To 1 Step -3 If i Mod 3 = 0 Luego Rng.Rows (i) .Borrar End If Next i End Sub

¿Dónde poner este código de macro VBA?

Debe colocar este código en un módulo normal en el editor de VB en Excel.

A continuación se muestran los pasos para abrir el Editor de Vb, agregar un módulo y colocar el código en él:

  1. Copie el código VBA anterior.
  2. Vaya a la pestaña Desarrollador.
  3. Haga clic en Visual Basic.
  4. En el Editor de VB, haga clic con el botón derecho en cualquiera de los objetos del libro de trabajo.
  5. Vaya a Insertar y haga clic en Módulo.
  6. En el módulo, pegue el código VBA anterior.
  7. Cierre el editor de VB.

Una vez que tenga el código en el VB Editor, puede usar los siguientes métodos para ejecutar el código:

  • Ejecute una macro desde el Editor de VB (haciendo clic en el botón de reproducción verde en la barra de herramientas del Editor de VB)
  • Colocando el cursor en cualquier línea del código y usando la tecla F5
  • Asignando la macro a un botón / forma
  • Añadiendo la macro a la barra de herramientas de acceso rápido
Aquí hay un tutorial detallado sobre cómo ejecutar una macro en Excel.

Si tiene que hacer esto con frecuencia, puede considerar agregar el código VBA al Libro de macros personal. De esta forma, siempre estará disponible para su uso en todos los libros de trabajo.

Cuando tiene un código VBA en un libro de trabajo, debe guardarlo como un archivo habilitado para macros (con la extensión .XLSM)

Nota: Dado que los cambios realizados por el código VBA son irreversibles, es mejor hacer primero una copia de seguridad del libro / hoja de trabajo y luego ejecutar este código.

Eliminar cada otra columna (o cada enésima columna)

Eliminar cada fila alternativa o cada tercera / cuarta fila es fácil, ya que puede usar la opción de filtro. Todo lo que tiene que hacer es usar una fórmula que identifique filas alternas (o cada tercera o cuarta fila) y las filtre.

Lamentablemente, esta misma metodología no funciona con columnas, ya que no puede filtrar columnas de la misma manera que filtra filas.

Por lo tanto, si tiene que eliminar todas las demás columnas (o cada tercera / cuarta / enésima columna), debe ser un poco más creativo.

En esta sección, le mostraré dos métodos que puede usar para eliminar todas las demás columnas en Excel (y puede usar el mismo método para eliminar cada tercera / cuarta / enésima columna si lo desea).

Eliminar columnas alternativas mediante fórmulas y método de ordenación

Suponga que tiene un conjunto de datos como se muestra a continuación y desea eliminar todas las demás columnas (excluyendo la columna de encabezado A)

El truco aquí sería identificar columnas alternativas usando una fórmula y luego ordenar las columnas según esa fórmula. Una vez que tenga las columnas ordenadas juntas, puede seleccionarlas y eliminarlas manualmente.

A continuación se muestran los pasos para eliminar todas las demás columnas en Excel:

  1. Inserte una fila encima de la fila del encabezado (haga clic con el botón derecho en cualquier celda del encabezado, haga clic en Insertar y luego haga clic en la opción Fila completa)
  2. Ingrese la siguiente fórmula en la celda arriba de la columna más a la izquierda en el conjunto de datos y cópiela para todas las celdas: = MOD (COLUMNA (), 2)
  3. Convierta los valores de la fórmula en números. Para hacer esto, copie las celdas, haga clic derecho y vaya a Pegado especial -> Pegar valores.
  4. Seleccione el conjunto de datos completo (excluyendo los encabezados de la columna). En este ejemplo, he seleccionado B1: G14 (y NO columna A)
  5. Haga clic en la pestaña Datos
  6. Haga clic en el icono Ordenar
  7. En el cuadro de diálogo Ordenar, realice los siguientes cambios:
    • Haga clic en el botón "Opciones" y en el cuadro de diálogo que se abre, haga clic en "Ordenar de izquierda a derecha" y luego haga clic en Aceptar
    • En el menú desplegable Ordenar por, seleccione Fila 1. Esta es la fila que tiene los resultados de la fórmula.
    • En el menú desplegable Orden, seleccione De menor a mayor.
  8. Haga clic en Aceptar

Los pasos anteriores ordenan todas las columnas y reúnen todas las columnas alternativas en un solo lugar (al final).

Ahora puede seleccionar todas estas columnas (para las que el valor de la fórmula es 1) y eliminarlas.

Aunque esta no es la mejor solución, todavía hace el trabajo.

En caso de que desee eliminar cada tercera columna o cada cuarta columna, debe ajustar la fórmula en consecuencia.

Tutorial relacionado: Cómo clasificar en Excel (por filas, columnas, colores, fechas y números)

Eliminar columnas alternativas usando VBA

Otra forma rápida de eliminar columnas alternativas es usar el siguiente código VBA:

Sub Delete_Every_Other_Column () Dim Rng As Range Set Rng = Application.InputBox ("Seleccione el rango (excluyendo encabezados)", "Selección de rango", Tipo: = 8) For i = Rng.Columns.Count To 1 Step -2 If i Mod 2 = 0 Luego Rng.Columns (i). Eliminar End If Next i End Sub

El código anterior le pide que seleccione un rango de celdas que tiene las columnas. Aquí debe seleccionar las columnas excluyendo la que tiene el encabezado.

Una vez que haya especificado el rango de celdas con los datos, usará un bucle For y eliminará todas las demás columnas.

En caso de que desee eliminar cada tercera columna, puede usar el código a continuación (y ajustar en consecuencia para eliminar la columna N)

Sub Delete_Every_Third_Column () Dim Rng As Range Set Rng = Application.InputBox ("Seleccione el rango (excluyendo encabezados)", "Selección de rango", Tipo: = 8) For i = Rng.Columns.Count To 1 Step -3 If i Mod 3 = 0 Luego Rng.Columns (i). Eliminar End If Next i End Sub

Los pasos sobre dónde colocar este código VBA y cómo usarlo se cubren en la sección anterior titulada - "Elimine automáticamente cada otra fila (o fila enésima) usando la macro VBA (método rápido)"

Espero que hayas encontrado útil este tutorial de Excel.

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave