Fórmula de coincidencia entre dos columnas

Buenos días
Necesito una fórmula que me indique cuando entre dos columnas se ha repetido una de ellas,
En la columna (A) tenemos la fecha del día, la cual se puede repetir en múltiples ocasiones, así todos los días del mes.
En la columna (B) tenemos los diferentes DNI de los usuarios.
Necesito una fórmula que me indique una alerta para cuando en el mismo día un usuario pretenda apuntarse dos veces.
Muchas gracias por todo
Saludos

1 Respuesta

Respuesta
1
Te voy a indicar como puedes hacerlo, aunque la manera que te voy a decir necesita de una columna auxiliar. La idea es que si en la celda (por ejemplo) A6 hay una fecha y en la B6 un dni, en otra fila cualquiera no pueden coincidir a la vez fecha y dni, ¿no?
Pues bien, si en una tercera columna, la C pones en la fila 6 (por seguir con el mismo ejemplo) =A6 & B6, tendrás una cadena que no se debe repetir en ninguna fila. Entonces en tu columna de DNI puedes aplicar un formato condicional, como este:
=CONTAR.SI($C$2:$C$23;C6)>1
De esta forma, si ese dni y esa fecha se repiten, el dni se te marcará con el formato condicional que le hayas puesto.
A mí personalmente no me gusta andar con nuevas columnas, si no te termina de convencer, con una macro también podemos resolverlo.
Gracias por todo.
¿Me podrías indicar cual seria la macro a emplear?
Muchas Gracias
Esto creo que te servirá. Mira a ver dónde empiezan los dni, esto está preparado para la celda B2. No he tenido tiempo de probarla, pero si todo va bien, donde te ocurra el problema te pintará la celda del dni de color rojo. Ya me dices algo.
Private Sub Worksheet_Change(ByVal Target As Range)
fin = 0
n = 0
While fin = 0
n = n + 1
If Range("b" & n) = "" Then
fin = 1
End If
Wend
For i = 2 To n - 1
For j = i + 1 To n - 1
If Range("b" & i) = Range("b" & j) And Range("a" & i) = Range("a" & j) Then
ActiveSheet.Range("B" & i).Interior.ColorIndex = 3
ActiveSheet.Range("B" & j).Interior.ColorIndex = 3
End If
Next j
Next i
End Sub
Disculpame soy un poco nuevo en esto de las macros.
Ante todo darte las gracias por tu tiempo.
¿Dónde tengo que poner esta macro y como se hace?
Gracias, muchas gracias.
Debes ir al menú "Herramientas" "Macro" "Editor de Visual Basic".
Cuando se te abra, busca la ventana proyecto (te aparecerá por la parte izquierda) y selecciona la hoja en la que tienes la fecha y los dni.
En la ventana principal, en la parte superior tienes dos menús desplegables: en el primero debes seleccionar la opción "worksheet" y te aparecerá en pantalla algo parecido a esto:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub
Lo borras tranquilamente y en el menú desplegable de la derecha seleccionas el evento "Change", y te aparecerá esto:
Private Sub Worksheet_Change(ByVal Target As Range)
End Sub
En el medio tienes que copiar lo que te escribí, desde fin=0 hasta next i, ambos inclusive.
Cuando lo tengas, cierra el editor de visual basic.
Si todo va bien, cada vez que cambies cualquier celda de tu hoja, se activará esa macro y si tienes dos dni con la misma fecha, las casillas te saldrán de color rojo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas