Material registrado:

    Safe Creative #1709190281730

    Estadísticas del sitio

    • 1.234 visitas

    Suscríbete:

    Introduce tu correo electrónico para suscribirte a este blog y recibir notificaciones de nuevas entradas.

Eliminar filas según contenidos en columna

Análisis de datos con Excel

Uno de los dos grandes tipos de trabajo que se pueden hacer con solvencia a través de las hojas de cálculo es cálculo; el otro es el análisis de datos. En este caso se nos plantea un problema que se inclina más hacia el análisis, y más concretamente en los estadios preliminares del análisis, como puede ser la limpieza y corrección de datos previos. Me pregunta José Miguel, desde Almería, sobre un caso particular en el que tenemos que eliminar las filas de una tabla en cuyas columnas E y F, por ejemplo, figure un cero.

Si estuviéramos hablando solo de una columna de referencia, y como nuestra intención es eliminar esas filas, sin duda yo optaría por seleccionar la zona de referencia, o sea la columna que contiene esos ceros, pulsar CTRL+B, o en la Cinta de Excel ir a INICIO y luego BUSCAR, poner cero como argumento de búsqueda y encontrar. Así nos quedan seleccionadas las celdas de esa columna que contienen cero. Luego en la misma pestaña de INICIO vamos al grupo de herramientas CELDAS/ELIMINAR/ELIMINAR FILAS DE HOJA. Problema resuelto.

Como queremos examinar dos columnas y ver en qué filas esas dos columnas valen cero, podemos crear una columna auxiliar de control y simplemente comprobar con una fórmula lógica si las dos celdas son cero, =Y(F2=0;G2=0), o más sencillo aún, sumar =F2+G2. Así vuelvo a tener el problema reducido a una columna y estoy en el caso anterior. Problema resuelto.

Pero también sabemos de la flexibilidad y variedad de aproximaciones que las hojas de cálculo nos permiten para resolver un mismo problema. Podemos hacer como José Miguel y aplicar dos filtros consecutivos, o un solo filtro a la columna de control antes creada. Podemos incluso aplicar un filtro avanzado, que es algo que no hice en el video, pero que haré en un tutorial que estoy preparando.

Formato condicional en Excel
Con una columna de control auxiliar es fácil transformar las dos condiciones en una. Las resaltamos con formato condicional y las buscamos con CTRL+B

Eliminar filas por condiciones con macros

Recuperamos en primer lugar una macro que ya he usado en varios problemas de este tipo y la adaptamos al caso que nos ocupa, pero suponiendo que hemos reducido el problema de las dos columnas a nuestra columna auxiliar de control. Este es el código:

Sub EliminaFilas()

‘Seleccionamos la región de trabajo

Dim i As Integer, nfilas As Integer

nfilas = ActiveSheet.Cells(1, 1).CurrentRegion.Rows.Count

‘Introducimos los datos de decisión

qCol = InputBox(“Columna del criterio”)

qCrit = InputBox(“Criterio”)

‘Ejecutamos bucle y acción de borrado

For i = nfilas To 2 Step 1

    Cells(i, qCol).Select

        If Cells(i, qCol) =
CDbl(qCrit) Then

            ActiveCell.EntireRow.Select

            Selection.Delete

        End If

Next i

End Sub

Otra solución alternativa con macros

Al reencontrarme con problemas viejos, siempre me gusta aprovechar esa ventaja de las hojas de cálculo, de Excel en particular, que es la flexibilidad, y aproximarme al problema de otra manera. Lo dejo en el código adjunto y esta vez teniendo en cuenta que se hará la comprobación en las columnas correspondientes a los índices 6 y 7, o sea la F y la G. Si las de tu caso particular son distintas, tienes que cambiar esos números.

Sub prueba1()

Cells(1, 1).CurrentRegion.Select

        For Each Row In Selection.Rows

            If Row.Cells(6) = 0 Then

                If Row.Cells(7) = 0 Then

                    Row.EntireRow.Select

                    Selection.Delete

                End If

            End If

        Next Row

End Sub

Comments

So empty here ... leave a comment!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Sidebar