Jump to content

Marcar celdas que cumplan un criterio


Recommended Posts

Buenos días, tengo una duda sobre la formula CONTAR.SI.CONJUNTO que creo que es la que necesito para poder marcar unas celdas que cumplan unos criterios, al comparar la columna A con la B, si está una vez, o duplicado en la misma fecha lo marcará como 1, si está duplicado varias veces en distintas fechas lo marcará como 2. Adjunto ejemplo. Gracias.

Libro1.xlsx

Link to post
Share on other sites

¡Hola, @sprit36!

Una opción puede ser, en C3, la siguiente fórmula matricial (debes introducirla con CSE : Ctrl + Shift + Enter, en vez de solo Enter) :

=SI(A2=A3;"";MIN(2;CONTAR(1/FRECUENCIA(SI(A3:A$10=A3;B3:B$10);B3:B$10))))

Nota: Mi separador de argumentos es ";".  Si no es el tuyo, cámbialo por "," o por el que maneje tu sistema.

Nota2: Si tienes office 2019 u office 365 no necesitas presionar la combinación de teclas anterior en la introducción de la fórmula.

¡Bendiciones!

Link to post
Share on other sites

Hola de nuevo @sprit36.  La fórmula funciona correctamente tanto como para pocos datos, como para muchos.  Así que debes revisar los rangos que aplicas.  Sube un ejemplo de dónde se te presentan problemas, para ver cómo estás aplicando la fórmula.  ¡Bendiciones!

Link to post
Share on other sites

¡Hola de nuevo, @sprit36!

El error de parte tuya, claramente, fue este que te comenté:

Hace 8 horas, johnmpl dijo:

Así que debes revisar los rangos que aplicas

El primer ejemplo me mandas hasta la fila 10.  Ahora, hasta la fila 4914.  ¿ por qué no ampliaste los rangos ?

Siempre que se te pasa una solución, debes fijarte en la lógica de la misma, no solo copiar y pegar sin fijarte.  ¡Bendiciones!

Link to post
Share on other sites

Tienes razón, culpa mía había modificado el rango, pero parece que no se cambió, como tengo muchas cosas y haciendo varias cosas no me había fijado que el cambio no se había realizado, efectivamente solo estaba hasta la fila10. Funciona perfectamente. Mil disculpas y  muchas gracias por tu ayuda. Tema resuelto.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • Buenos días compañeros, @JSDJSD Estoy utilizando la solución que me prestaste en la empresa y me solucionaste la vida a parte de estar super contento, y he añadido muchas cosas más. Ahora me encuentro con otro problemilla que me gustaría añadir y no sé como implementarlo en tu codigo. Necesito que en el textbox se obligue a añadir un mínimo de 8 caracteres y un maximo de 17 y si no es correcto que se termine la macro. No sé si me explico. He intentado añadir este código pero creo que no sé implementarlo correctamente ya que pongas lo que pongas me salta que tengo que poner 8 caracteres mínimo.   If Val(TextBox1) < 8 Or Val(TextBox1) > 17 Then MsgBox "Rango invalido. Mínimo 8 caracteres. Gracias." Exit Sub End If   No sé si me podrías ayudar de nuevo. Gracias
    • Te he reestructurado un poco él código. Ya comentarás si quieres los combos ordenados y que se añada de forma automática al elegir de la lista. LLAVES.xlsm
    • Hola @gacg1310! Adjunto 2 opciones, la primera usando la función BUSCARV y una columna auxiliar; y la segunda usando funciones matriciales (se ingresan presionando Ctrl + Shift + Enter). La búsqueda la hice en base al número de cédula, ya que los datos de los nombres no son adecuados; para que sirvan, el nombre de cada persona debe escribirse igual en ambas tablas ("ANSELMO SALAMANCA MARTINEZ" no es lo mismo que "ANSELMO MARTINEZSALAMANCA"). Saludos! datos a traer.xlsx
    • Private Sub Worksheet_Change(ByVal Target As Range) With Target If .Column = 3 Then ' Si la celda cambiada petenece a la coluna 3 = "C", entramos ... Application.EnableEvents = False 'Desactivo eventos porque voy hacer cambios en las celdas .Offset(, -1) = Format(Now, "hh:mm") 'Ponemos la hora en la celda, una celda a la Izq, de la celda modificada ' que si estamos en "C" ==> "B" If Len(.Text) = 0 Then .Offset(, -1) = "" ' Evaluo : Sí En la celda cambiada no hay nada, elimino ' lo que hay en la celda una a la Izq Application.EnableEvents = True 'Activamos eventos End If End With End Sub Te dejo el código comentado para que el próximo cambio te lo puedas apañar tú. Saludos
    • Hola a todos! Adjunto una opción usando forulación y una columna auxiliar. Los datos de la columna "Fecha recogida/entrega" no tenían el formato correcto, hay que convertirlos a formato fecha. Saludos! productividad por horas.xlsx
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy