¿Cómo compruebo valores iguales y eliminar por determinada condición?

Tengo este archivo

y esta condicion =SI(A2=A3,Y(B2="ACTIVE"),"ELIMINAR") 

¿Lo qué hace es comprobar si la serie es igual y si en el STATUS tiene ACTIVE y OVERDUE que elimine el OVERDUE?
Pero ¿cómo puedo hacerla para que elimine si en STATUS el valor es igual, es decir, si la serie se repite y si en STATUS se repite ACTIVE, que elimine uno?

1 Respuesta

Respuesta
1

H  o l a:

Antes de realizar la fórmula tengo algunas dudas.

1. Siempre están en pares, es decir, en tu ejemplo la celda A2 y A3 son iguales, A4 y A5, A6 y A7, etc.

2. Entonces si son pares, hay que comparar A2 con A3, A4 con A5. etc.

3. Puedes poner que esperas de resultado, suponiendo los siguientes casos:

     A2           A3

Active overdue

Active active

Overdue overdue

Overdue active

4. Si la condición SI se cumple, entonces quieres el texto "ELIMINAR". ¿Si no se cumple qué esperas de resultado?

'

Espero tus comentarios en ese orden.

'

S a l u d o s

H  o l a:

Antes de realizar la fórmula tengo algunas dudas.

1. Siempre están en pares, es decir, en tu ejemplo la celda A2 y A3 son iguales, A4 y A5, A6 y A7, etc.

R: Si

2. Entonces si son pares, hay que comparar A2 con A3, A4 con A5. etc.

R: En ocasiones vienen en tríos.

3. Puedes poner que esperas de resultado, suponiendo los siguientes casos:

4. Si la condición SI se cumple, entonces quieres el texto "ELIMINAR". ¿Si no se cumple qué esperas de resultado?

Dejo la imagen con un ejemplo y la fórmula que llevo hecha. Saludos y gracias.

H  o l a:

Entonces si a veces son 3, hay que preparar la fórmula para las combinas de 3 celdas.

Por lo tanto, me tienes que decir que esperas para cada combinación, en este caso serían 8 combinaciones cuando 3, y 4 combinaciones cuando son 2.

Entonces me tienes que poner, qué resultado esperas para cada combinación:

   A2           A3               A4

Active Overdue

Active Active

Overdue Overdue

Overdue Active

Active     Active       Active

Active     Active       Overdue

Active Overdue Active

Overdue Active Active

Overdue Overdue Overdue

Overdue Overdue Active

Overdue Active Overdue

Active Overdue Overdue


En total tienes que poner 12 resultados, serían 12 IF anidados, sería más factible solucionarlo con una macro; pero ya sea una macro o una fórmula tienes que identificar por cada combinación el resultado que esperas.

'S a l u d o s

Lo que esperaría terminar con la fórmula seria algo así:

Confírmame las siguientes combinaciones:

SN         Status

772       OVERDUE

772       ACTIVE


SN         Status

776       OVERDUE

776       ACTIVE

776       ACTIVE


SN         Status

778       OVERDUE

778       OVERDUE

778       ACTIVE


SN         Status

779       OVERDUE

779       Active

779       Overdue


Si alguna de las combinaciones que me diste no es correcta, entonces envíame nuevamente toda la imagen con la actualización.

Confirmado, esas son.

H o l a:

Te anexo una macro para poner los valores:

Sub ActiveOverdue()
'Por.Dante Amor
    c = "A"
    ant = Cells(3, "A")
    k = 1
    u = Range("A" & Rows.Count).End(xlUp).Row
    Range("C3:C" & u).ClearContents
    '
    n = 0
    ini = 3
    For i = 3 To u + 1
        If ant = Cells(i, "A") Then
            n = n + 1
            fin = i
            a = Cells(ini, "B")
            b = Cells(ini + 1, "B")
            c = Cells(ini + 2, "B")
        Else
            Call combinacion(ini, fin, n, a, b, c)
            n = 1
            ini = i
            fin = i
        End If
        ant = Cells(i, "A")
    Next
    MsgBox "Proceso Terminado", vbInformation, "NUMERACIÓN"
End Sub
'
Sub combinacion(ini, fin, n, a, b, c)
'Por.Dante Amor
    If n = 2 Then
        If a = "ACTIVE" And b = "OVERDUE" Then
            Cells(ini, "C") = "ok"
            Cells(fin, "C") = "eliminar"
        End If
        If a = "ACTIVE" And b = "ACTIVE" Then
            Cells(ini, "C") = "ok"
            Cells(fin, "C") = "eliminar"
        End If
        If a = "OVERDUE" And b = "OVERDUE" Then
            Cells(ini, "C") = "ok"
            Cells(fin, "C") = "eliminar"
        End If
        If a = "OVERDUE" And b = "ACTIVE" Then
            Cells(ini, "C") = "eliminar"
            Cells(fin, "C") = "ok"
        End If
    Else
        If a = "ACTIVE" And b = "ACTIVE" And c = "ACTIVE" Then
            Cells(ini, "C") = "ok"
            Cells(ini + 1, "C") = "eliminar"
            Cells(fin, "C") = "eliminar"
        End If
        If a = "ACTIVE" And b = "ACTIVE" And c = "OVERDUE" Then
            Cells(ini, "C") = "ok"
            Cells(ini + 1, "C") = "eliminar"
            Cells(fin, "C") = "eliminar"
        End If
        If a = "ACTIVE" And b = "OVERDUE" And c = "ACTIVE" Then
            Cells(ini, "C") = "ok"
            Cells(ini + 1, "C") = "eliminar"
            Cells(fin, "C") = "eliminar"
        End If
        If a = "OVERDUE" And b = "ACTIVE" And c = "ACTIVE" Then
            Cells(ini, "C") = "ok"
            Cells(ini + 1, "C") = "eliminar"
            Cells(fin, "C") = "eliminar"
        End If
        If a = "OVERDUE" And b = "OVERDUE" And c = "OVERDUE" Then
            Cells(ini, "C") = "ok"
            Cells(ini + 1, "C") = "eliminar"
            Cells(fin, "C") = "eliminar"
        End If
        If a = "OVERDUE" And b = "OVERDUE" And c = "ACTIVE" Then
            Cells(ini, "C") = "ok"
            Cells(ini + 1, "C") = "eliminar"
            Cells(fin, "C") = "ok"
        End If
        If a = "OVERDUE" And b = "ACTIVE" And c = "OVERDUE" Then
            Cells(ini, "C") = "eliminar"
            Cells(ini + 1, "C") = "ok"
            Cells(fin, "C") = "eliminar"
        End If
        If a = "ACTIVE" And b = "OVERDUE" And c = "OVERDUE" Then
            Cells(ini, "C") = "ok"
            Cells(ini + 1, "C") = "eliminar"
            Cells(fin, "C") = "eliminar"
        End If
    End If
End Sub

Sigue las Instrucciones para un botón y ejecutar la macro

  1. Abre tu libro de Excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. En el menú elige Insertar / Módulo
  4. En el panel del lado derecho copia la macro
  5. Ahora para crear un botón, puedes hacer lo siguiente:
  6. Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
  7. Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
  8. Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona: Tamaño y Propiedades. En la ventana que se abre selecciona la pestaña: Propiedades. Desmarca la opción “Imprimir Objeto”. Presiona “Cerrar”
  9. Vuelve a presionar click derecho dentro de la imagen y ahora selecciona: Asignar macro. Selecciona: ActiveOverdue
  10. Aceptar.
  11. Para ejecutarla dale click a la imagen.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas