Barry tiene una hoja de trabajo grande que contiene varios miles de filas de datos.

La columna B contiene una fecha y debe eliminar todas las filas en las que la fecha de la columna B es anterior a una fecha límite específica. Barry se pregunta cuál es la forma más sencilla de hacer esto con tantos datos.

Esto es bastante fácil de hacer, y el enfoque que utilice dependerá de la frecuencia con la que lo necesite y de cómo quiera trabajar con sus datos. Si no le importa en qué orden están sus datos, entonces el método más fácil es lo que yo llamo el método «ordenar y eliminar»:

  1. Seleccione la celda B2. (Esto supone que B2 es la primera fecha en sus filas de datos porque la fila 1 contiene encabezados).

  2. Muestre la pestaña Datos de la cinta.

  3. Haga clic en la herramienta Ordenar del más antiguo al más nuevo. Excel ordena los datos según las fechas de la columna B, con la fecha más antigua en la fila 2.

  4. Seleccione y elimine las filas que contienen fechas anteriores a su límite.

Esto funciona muy bien si solo necesita realizar esa tarea de vez en cuando y si no le importa que las filas de los datos se reordenen. Si reordenar es un problema, entonces es posible que desee agregar una columna a sus datos y llenar esa columna con valores desde 1 hasta la cantidad de filas de datos que tenga. A continuación, puede realizar el método «ordenar y eliminar», pero luego recurrir a sus datos en función de los valores en la columna que agregó.

Por supuesto, también puede utilizar un método de «filtrar y eliminar», que dejará sus datos en su orden original sin la necesidad de una columna de ayuda:

  1. Seleccione la celda B2. (Esto supone que B2 es la primera fecha en sus filas de datos porque la fila 1 contiene encabezados).

  2. Presione Ctrl + Mayús + L. Excel aplica Autofiltro a sus datos. (Debería poder ver las pequeñas flechas desplegables junto a los encabezados en la fila 1.)

  3. Haga clic en la flecha desplegable junto al encabezado Fecha en la celda B1. Excel muestra algunas opciones de clasificación y filtrado.

  4. Pase el puntero del mouse sobre la opción Filtros de fecha. Excel muestra aún más opciones.

  5. Elija la opción Antes. Excel muestra el cuadro de diálogo Autofiltro personalizado.

  6. En el cuadro a la derecha de «Es antes», especifique una fecha un día después de su fecha límite.

  7. Haga clic en Aceptar. Excel aplica el filtro y solo puede ver las filas que se encuentran en la fecha de corte o antes.

  8. Seleccione todas las filas, pero no la fila 1. (Eso es porque la fila 1 contiene sus encabezados).

  9. Muestre la pestaña Inicio de la cinta.

  10. Haga clic en la herramienta Eliminar. Excel elimina todas las filas seleccionadas.

  11. Muestre la pestaña Datos de la cinta.

  12. Haga clic en la herramienta Filtro para eliminar el Autofiltro.

Si necesita realizar la tarea de eliminar filas con frecuencia, no podrá superar la conveniencia de usar una macro. La siguiente macro asume que ha colocado la fecha límite en la celda K1. Toma esta fecha y luego mira cada fila en sus datos, eliminando cualquier fila que esté antes de esta fecha de corte.

Sub DeleteRowsBeforeCutoff()

Dim LastRow As Integer     Dim J As Integer

Application.ScreenUpdating = False     LastRow = Cells(Rows.Count, 2).End(xlUp).Row     For J = LastRow To 1 Step -1         If Cells(J, 2) < [K1] Then             Cells(J, 2).EntireRow.Delete         End If     Next J     Application.ScreenUpdating = True End Sub

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (1566) se aplica a Microsoft Excel 2007, 2010, 2013 y 2016.