Eliminar filas según un valor de celda (o condición) en Excel (Guía fácil)

Cuando trabaje con conjuntos de datos grandes, es posible que tenga la necesidad de eliminar rápidamente filas en función de los valores de celda que contiene (o en función de una condición).

Por ejemplo, considere los siguientes ejemplos:

  1. Tiene datos de representantes de ventas y desea eliminar todos los registros de una región o producto específico.
  2. Desea eliminar todos los registros donde el valor de venta es menor que 100.
  3. Desea eliminar todas las filas donde hay una celda en blanco.

Hay varias formas de desollar este gato de datos en Excel.

El método que elija para eliminar las filas dependerá de cómo estén estructurados sus datos y cuál es el valor de la celda o la condición según la cual desea eliminar estas filas.

En este tutorial, le mostraré varias formas de eliminar filas en Excel en función de un valor de celda o una condición.

Filtrar filas según el valor / condición y luego eliminarlo

Una de las formas más rápidas de eliminar filas que contienen un valor específico o cumplen una condición determinada es filtrarlas. Una vez que tenga los datos filtrados, puede eliminar todas estas filas (mientras que las filas restantes permanecen intactas).

El filtro de Excel es bastante versátil y puede filtrar en función de muchos criterios (como texto, números, fechas y colores)

Veamos dos ejemplos en los que puede filtrar las filas y eliminarlas.

Eliminar filas que contienen un texto específico

Suponga que tiene un conjunto de datos como se muestra a continuación y desea eliminar todas las filas donde la región es Medio Oeste (en la Columna B).

Si bien en este pequeño conjunto de datos puede optar por eliminar estas filas manualmente, a menudo sus conjuntos de datos serán enormes y eliminar filas manualmente no será una opción.

En ese caso, puede filtrar todos los registros donde la región es Mid-West y luego eliminar todas estas filas (mientras mantiene las otras filas intactas).

A continuación se muestran los pasos para eliminar filas según el valor (todos los registros del Medio Oeste):

  1. Seleccione cualquier celda del conjunto de datos del que desee eliminar las filas
  2. Haga clic en la pestaña Datos
  3. En el grupo "Ordenar y filtrar", haga clic en el icono de filtro. Esto aplicará filtros a todas las celdas de encabezados en el conjunto de datos
  4. Haga clic en el icono de filtro en la celda del encabezado de la región (este es un pequeño icono de triángulo apuntando hacia abajo en la parte superior derecha de la celda)
  5. Deseleccione todas las demás opciones excepto la opción Medio Oeste (una forma rápida de hacerlo es haciendo clic en la opción Seleccionar todo y luego haciendo clic en la opción Medio Oeste). Esto filtrará el conjunto de datos y solo le mostrará los registros de la región del Medio Oeste.
  6. Seleccionar todos los registros filtrados
  7. Haga clic derecho en cualquiera de las celdas seleccionadas y haga clic en "Eliminar fila"
  8. En el cuadro de diálogo que se abre, haga clic en Aceptar. En este punto, no verá registros en el conjunto de datos.
  9. Haga clic en la pestaña Datos y haga clic en el icono de Filtro. Esto eliminará el filtro y verá todos los registros excepto los eliminados.

Los pasos anteriores primero filtran los datos en función de un valor de celda (o pueden ser otras condiciones, como después / antes de una fecha o mayor / menor que un número). Una vez que tenga los registros, simplemente elimínelos.

Algunos atajos útiles que debe conocer para acelerar el proceso:

  1. Control + Mayús + L para aplicar o quitar el filtro
  2. Control + - (mantenga presionada la tecla de control y presione la tecla menos) para eliminar las celdas / filas seleccionadas

En el ejemplo anterior, solo tenía cuatro regiones distintas y podía seleccionarlas y deseleccionarlas manualmente de la lista de filtros (en los pasos 5 anteriores).

En caso de que tenga muchas categorías / regiones, puede escribir el nombre en el campo justo encima del cuadro (que tiene estos nombres de región), y Excel le mostrará solo aquellos registros que coincidan con el texto ingresado (como se muestra a continuación). Una vez que tenga el texto basado en el que desea filtrar, presione la tecla Enter.

Tenga en cuenta que cuando elimina una fila, todo lo que pueda tener en otras celdas de estas filas se perderá. Una forma de evitar esto es crear una copia de los datos en otra hoja de trabajo y eliminar las filas de los datos copiados. Una vez hecho esto, cópielo de nuevo en lugar de los datos originales.

O

Puede usar los métodos que se muestran más adelante en este tutorial (usando el método Ordenar o el Método Buscar todo)

Eliminar filas según una condición numérica

Así como utilicé el método de filtro para eliminar todas las filas que contienen el texto Mid-West, también puede usar una condición de número (o una condición de fecha).

Por ejemplo, supongamos que tengo el siguiente conjunto de datos y quiero eliminar todas las filas donde el valor de venta es menor que 200.

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

  1. Seleccione cualquier celda de los datos
  2. Haga clic en la pestaña Datos
  3. En el grupo "Ordenar y filtrar", haga clic en el icono de filtro. Esto aplicará filtros a todas las celdas de encabezados en el conjunto de datos
  4. Haga clic en el ícono de Filtro en la celda del encabezado de Ventas (este es un pequeño ícono de triángulo que apunta hacia abajo en la parte superior derecha de la celda)
  5. Pase el cursor sobre la opción Filtros numéricos. Esto le mostrará todas las opciones de filtro relacionadas con los números en Excel.
  6. Haga clic en la opción "Menos de".
  7. En el cuadro de diálogo "Filtro automático personalizado" que se abre, ingrese el valor "200" en el campo
  8. Haga clic en Aceptar. Esto filtrará y mostrará solo aquellos registros donde el valor de venta es menor que 200
  9. Seleccionar todos los registros filtrados
  10. Haga clic derecho en cualquiera de las celdas y haga clic en Eliminar fila
  11. En el cuadro de diálogo que se abre, haga clic en Aceptar. En este punto, no verá registros en el conjunto de datos.
  12. Haga clic en la pestaña Datos y haga clic en el icono de Filtro. Esto eliminará el filtro y verá todos los registros excepto los eliminados.

Hay muchos filtros numéricos que puede usar en Excel, como menor que / mayor que, igual / no es igual, entre, 10 principales, por encima o por debajo del promedio, etc.

Nota: también puede utilizar varios filtros. Por ejemplo, puede eliminar todas las filas en las que el valor de las ventas sea superior a 200 pero inferior a 500. En este caso, debe utilizar dos condiciones de filtro. El cuadro de diálogo Filtro automático personalizado permite tener dos criterios de filtro (Y y O).

Al igual que los filtros de números, también puede filtrar los registros según la fecha. Por ejemplo, si desea eliminar todos los registros del primer trimestre, puede hacerlo siguiendo los mismos pasos anteriores. Cuando trabaja con filtros de fecha, Excel muestra automáticamente los filtros relevantes (como se muestra a continuación).

Si bien el filtrado es una excelente manera de eliminar filas rápidamente en función de un valor o una condición, tiene un inconveniente: elimina toda la fila. Por ejemplo, en el caso siguiente, eliminaría todos los datos que están a la derecha del conjunto de datos filtrado.

¿Qué sucede si solo quiero eliminar registros del conjunto de datos, pero quiero mantener intactos los datos restantes?

No puede hacer eso con el filtrado, pero puede hacerlo con la clasificación.

Ordene el conjunto de datos y luego elimine las filas

Aunque la ordenación es otra forma de eliminar filas según el valor, en la mayoría de los casos, es mejor utilizar el método de filtro mencionado anteriormente.

Esta técnica de clasificación se recomienda solo cuando desee eliminar las celdas con los valores y no las filas completas.

Suponga que tiene un conjunto de datos como se muestra a continuación y desea eliminar todos los registros donde la región es Medio Oeste.

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

  1. Seleccione cualquier celda de los datos
  2. Haga clic en la pestaña Datos
  3. En el grupo Ordenar y filtrar, haga clic en el icono Ordenar.
  4. En el cuadro de diálogo Ordenar que se abre, seleccione Región en la columna Ordenar por.
  5. En la opción Ordenar en, asegúrese de que Valores de celda esté seleccionado
  6. En la opción Orden, seleccione de la A a la Z (o de la Z a la A, realmente no importa).
  7. Haga clic en Aceptar. Esto le dará el conjunto de datos ordenados como se muestra a continuación (ordenados por columna B).
  8. Seleccione todos los registros con la región Mid-West (todas las celdas de las filas, no solo la columna de la región)
  9. Una vez seleccionado, haga clic derecho y luego haga clic en Eliminar. Esto abrirá el cuadro de diálogo Eliminar.
  10. Asegúrese de que la opción "Desplazar celdas hacia arriba" esté seleccionada.
  11. Haga clic en Aceptar.

Los pasos anteriores eliminarían todos los registros en los que la región era Mid-West, pero no elimina toda la fila. Por lo tanto, si tiene datos a la derecha o izquierda de su conjunto de datos, no se dañará.

En el ejemplo anterior, he ordenado los datos en función del valor de la celda, pero también puede usar los mismos pasos para ordenar en función de los números, las fechas, el color de la celda o el color de la fuente, etc.

Aquí hay una guía detallada sobre cómo ordenar datos en Excel
En caso de que desee mantener el orden del conjunto de datos original pero eliminar los registros según los criterios, debe tener una forma de ordenar los datos de nuevo al original. Para hacer esto, agregue una columna con números de serie antes de ordenar los datos. Una vez que haya terminado de eliminar las filas / registros, simplemente ordene en función de esta columna adicional que agregó.

Busque y seleccione las celdas según el valor de la celda y luego elimine las filas

Excel tiene una funcionalidad de Buscar y Reemplazar que puede ser excelente cuando desea buscar y seleccionar celdas con un valor específico.

Una vez que haya seleccionado estas celdas, puede eliminar fácilmente las filas.

Suponga que tiene el conjunto de datos como se muestra a continuación y desea eliminar todas las filas donde la región es Medio Oeste.

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

  1. Seleccionar el conjunto de datos completo
  2. Haga clic en la pestaña Inicio
  3. En el grupo Edición, haga clic en la opción "Buscar y seleccionar" y luego haga clic en Buscar (también puede usar el atajo de teclado Control + F).
  4. En el cuadro de diálogo Buscar y reemplazar, ingrese el texto "Medio Oeste" en el campo "Buscar qué:".
  5. Haga clic en Buscar todo. Esto le mostrará instantáneamente todas las instancias del texto Mid-West que Excel pudo encontrar.
  6. Use el atajo de teclado Control + A para seleccionar todas las celdas que encontró Excel. También podrá ver todas las celdas seleccionadas en el conjunto de datos.
  7. Haga clic derecho en cualquiera de las celdas seleccionadas y haga clic en Eliminar. Esto abrirá el cuadro de diálogo Eliminar.
  8. Seleccione la opción "Fila completa".
  9. Haga clic en Aceptar.

Los pasos anteriores eliminarían todas las celdas donde el valor de la región es Medio oeste.

Nota: Dado que Buscar y Reemplazar puede manejar caracteres comodín, puede usarlos cuando busque datos en Excel. Por ejemplo, si desea eliminar todas las filas en las que la región es Mid-West o South-West, puede usar "*Oeste"Como el texto que se debe buscar en el cuadro de diálogo Buscar y reemplazar. Esto le dará todas las celdas donde el texto termina con la palabra Oeste.

Eliminar todas las filas con una celda en blanco

En caso de que desee eliminar todas las filas donde hay celdas en blanco, puede hacerlo fácilmente con una funcionalidad incorporada en Excel.

Es el Ir a celdas especiales opción, que le permite seleccionar rápidamente todas las celdas en blanco. Y una vez que haya seleccionado todas las celdas en blanco, eliminarlas es muy simple.

Suponga que tiene el conjunto de datos como se muestra a continuación y quiero eliminar todas las filas donde no tengo el valor de venta.

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

  1. Seleccione el conjunto de datos completo (A1: D16 en este caso).
  2. presione el F5 clave. Esto abrirá el cuadro de diálogo "Ir a" (también puede obtener este cuadro de diálogo desde Inicio -> Edición -> Buscar y seleccionar -> Ir a).
  3. En el cuadro de diálogo "Ir a", haga clic en el botón Especial. Esto abrirá el cuadro de diálogo "Ir a especial".
  4. En el cuadro de diálogo Ir a especial, seleccione "Espacios en blanco".
  5. Haga clic en Aceptar.

Los pasos anteriores seleccionarían todas las celdas que están en blanco en el conjunto de datos.

Una vez que haya seleccionado las celdas en blanco, haga clic con el botón derecho en cualquiera de las celdas y haga clic en Eliminar.

En el cuadro de diálogo Eliminar, seleccione la opción "Fila completa" y haga clic en Aceptar. Esto eliminará todas las filas que tengan celdas en blanco.

Si está interesado en aprender más sobre esta técnica, escribí un tutorial detallado sobre cómo eliminar filas con celdas en blanco. Incluye el método "Ir a especial", así como un método VBA para eliminar filas con celdas en blanco.

Filtrar y eliminar filas según el valor de la celda (usando VBA)

El último método que les voy a mostrar incluye un poco de VBA.

Puede utilizar este método si a menudo necesita eliminar filas en función de un valor específico en una columna. Puede agregar el código VBA una vez y agregarlo a su libro de macro personal. De esta forma, estará disponible para su uso en todos sus libros de Excel.

Este código funciona de la misma manera que el método de filtro mencionado anteriormente (excepto por el hecho de que realiza todos los pasos en el backend y le ahorra algunos clics).

Suponga que tiene el conjunto de datos como se muestra a continuación y desea eliminar todas las filas donde la región es Medio Oeste.

A continuación se muestra el código VBA que hará esto.

Sub DeleteRowsWithSpecificText () 'Fuente: https: //trumpexcel.com/delete-rows-based-on-cell-value/ ActiveCell.AutoFilter Field: = 2, Criteria1: = "Mid-West" ActiveSheet.AutoFilter.Range.Offset (1, 0) .Rows.SpecialCells (xlCellTypeVisible) .Delete End Sub

El código anterior utiliza el método de autofiltro de VBA para filtrar primero las filas según los criterios especificados (que es "Medio Oeste"), luego seleccione todas las filas filtradas y elimínelas.

Tenga en cuenta que he usado Offset en el código anterior para asegurarme de que mi fila de encabezado no se elimine.

El código anterior no funciona si sus datos están en una tabla de Excel. La razón de esto es que Excel considera una tabla de Excel como un objeto de lista. Entonces, si desea eliminar filas que están en una tabla, debe modificar un poco el código (se explica más adelante en este tutorial).

Antes de eliminar las filas, le mostrará un mensaje como se muestra a continuación. Encuentro esto útil ya que me permite verificar la fila filtrada antes de eliminarla.

Recuerde que cuando elimina filas usando VBA, no puede deshacer este cambio. Por lo tanto, use esto solo cuando esté seguro de que funciona de la manera que desea. Además, es una buena idea mantener una copia de seguridad de los datos en caso de que algo salga mal.

En caso de que sus datos estén en una tabla de Excel, use el siguiente código para eliminar filas con un valor específico en él:

Sub DeleteRowsinTables () 'Fuente: https: //trumpexcel.com/delete-rows-based-on-cell-value/ Dim Tbl As ListObject Set Tbl = ActiveSheet.ListObjects (1) ActiveCell.AutoFilter Field: = 2, Criteria1: = "Mid-West" Tbl.DataBodyRange.SpecialCells (xlCellTypeVisible) .Delete End Sub

Dado que VBA considera la tabla de Excel como un objeto de lista (y no un rango), tuve que cambiar el código en consecuencia.

¿Dónde poner el código VBA?

Este código debe colocarse en el backend de VB Editor en un módulo.

A continuación se muestran los pasos que le mostrarán cómo hacer esto:

  1. Abra el libro de trabajo en el que desea agregar este código.
  2. Use el método abreviado de teclado ALT + F11 para abrir la ventana del Editor de VBA.
  3. En esta ventana del Editor de VBA, a la izquierda, hay un panel "Explorador de proyectos" (que enumera todos los libros de trabajo y los objetos de las hojas de trabajo). Haga clic con el botón derecho en cualquier objeto del libro de trabajo (en el que desee que funcione este código), coloque el cursor sobre "Insertar" y luego haga clic en "Módulo". Esto agregará el objeto Módulo al Libro de trabajo y también abrirá la ventana Código del módulo a la derecha
  4. En la ventana del módulo (que aparecerá a la derecha), copie y pegue el código anterior.

Una vez que tenga el código en el Editor de VB, puede ejecutar el código utilizando cualquiera de los métodos siguientes (asegúrese de haber seleccionado cualquier celda en el conjunto de datos en el que desea ejecutar este código):

  1. Seleccione cualquier línea dentro del código y presione la tecla F5.
  2. Haga clic en el botón Ejecutar en la barra de herramientas del Editor de VB
  3. Asigne la macro a un botón o forma y ejecútela haciendo clic en ella en la hoja de trabajo.
  4. Agréguelo a la barra de herramientas de acceso rápido y ejecute el código con un solo clic.

Puede leer todo sobre cómo ejecutar el código de macro en Excel en este artículo.

Nota: Dado que el libro de trabajo contiene un código de macro VBA, debe guardarlo en el formato habilitado para macros (xlsm).

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

wave wave wave wave wave