Hola a todos:
Hoy voy a trabajar un poco con formulación clásica de Excel. En concreto vamos a contar registros únicos en función de varios criterios. Para ello he preparado una sencilla tabla con unos datos que nos van a servir de ejemplo:
Imaginad que queremos contar los registros únicos de la columna C que dependan de «Dirección de Area 1 y que el criterio de la columna B sea mayor o igual a 1. Es decir:
Qué los registros únicos serán 3, las Subdirecciones Zona 1.1, 1.2 y 1.3
Para poder realizar esto con una fórmula vamos a utilizar la siguiente función matricial:
{=CONTAR(1/FRECUENCIA(SI(Hoja1!$A$2:$A$18="Dirección Area 1";SI(Hoja1!$B$2:$B$18>=1;COINCIDIR(Hoja1!$C$2:$C$18;Hoja1!$C$2:$C$18;0)));FILA($A$2:$A$18)-FILA(DESREF($A$2:$A$18;;;1;))+1))}
Como podéis ver, estamos usando varios fórmulas, CONTAR, FRECUENCIA, SI, COINCIDIR, FILA y DESREF.
El resultado es el siguiente:
Obviamente, la fórmula se puede modificar variando e incluyendo nuevos criterios, solo debéis realizar algunas pruebas.
Os recuerdo que las matrices se introducen: seleccionando la celda que contiene la fórmula, pulsando en F2 , seleccionamos la fórmula y luego presionamos CTRL + MAYUS + ENTRAR
Descarga el archivo de ejemplo pulsando en: CONTAR REGISTROS ÚNICOS CON VARIOS CRITERIOS
¿Te ha resultado de interés?, puedes apoyar a Excel Signum con una pequeña donación.
¡¡Muchas gracias!!
Hola,
Sería posible que con ese mismo ejemplo, introdujeras una tercera condición al recuento único.
He intentado hacerlo yo pero no consigo editar la formula y que funcione con un 3º criterio en otra columna nueva.
Ejemplo: imagina que queremos contar los registros únicos de la columna C que dependan de “Dirección de Area 1, que el criterio de la columna B sea mayor o igual a 1 y que haya un 3º criterio en la columna D, por ejemplo un nombre concreto de un empleado.
Gracias.
Patricia
Hola Patricia:
Sería así: =CONTAR(1/FRECUENCIA(SI(Hoja1!$A$2:$A$18=»Dirección Area 1″;SI(Hoja1!$D$2:$D$18=»juan»;SI(Hoja1!$B$2:$B$18>=1;COINCIDIR(Hoja1!$C$2:$C$18;Hoja1!$C$2:$C$18;0))));FILA($A$2:$A$18)-FILA(DESREF($A$2:$A$18;;;1;))+1))
Teniendo en cuenta que los nombres están en la columna «D», en este caso juan.
Saludos.
FILA($A$2:$A$18)-FILA(DESREF($A$2:$A$18;;;1;))+1))
Hola,
Me gusta tu fórmula pero no he logrado descifrar como funciona esta parte.
Tengo una base de datos con: num. referencia, fecha, cliente, vendedor y monto
Ocupo que sume el monto total de X vendedor para X cliente en X mes y que pertenezca a una misma referencia.
Gracias.
Este fórmula no sirve para lo que intentas hacer. Prueba con la función sumar.si.conjunto o la función sumaproducto.
Tendría que ver un ejemplo para ayudarte, si no lo logras, puedes enviar un ejemplo (en excel) de lo que necesitas (bien explicado) a excelsignum@yahoo.es
Saludos.
Hola! muchas gracias por la solución, me ha simplificado la solución y sobre todo he podido automatizar un reporte importante, pero tengo un inconveniente, cuando quiero utilizar el resultado (12) para hacer otra operación aritmética (13/12), lo considera como 0 (13/0), probé con la fórmula =valor(contar…), pero me sigue devolviendo 0.
Hola Vicente:
No veo porque te produce ese resultado, hacer referencia a esa celda como dices, debería identificar el contenido como un 12.
Puedes enviarme un ejemplo con ese resultado, por favor?
Saludos.
Hola Segu,
He estado tratando de adaptar la fórmula a mi reporte, pero no lo he logrado.
Necesito que sea para 3 criterios, por ejemplo: que según los criterios empezando de:
Estado de la orden ( G10… ) – ejemplo de criterio: «Pedido abierto»
Estado del Material ( H10… ) – ejemplo de criterio: «Sin Recibir»
Comprador ( AB10… ) – ejemplo de criterio: «R.Rodríg»
Y los valores a contar serían las ordenes de compra – F10
Agradezco la ayuda y orientación.
Saludos.
Hola: lfzeledon
Has probado con el segundo post que he publicado sobre este tema?.
https://excelsignum.com/2019/01/17/contar-registros-unicos-con-varios-registros-ii/
Saludos.
Te comento que desde su archivo de prueba, adapté las columnas según mi reporte, extraje unas 10 filar de información, solo como prueba.. y si me funciona, apliqué los filtros para comprobar que esté dando el resultado correcto y si!…
Pero al pegar la formula en mi archivo no reconoce nada.
No sé si tendra que ver con la fila desde donde empieza que es la 10.
Lo extraño es que en la prueba con pocos datos si me funciona.
Hola!
El problema que tenía era que una de las columnas tenía fórmula buscarv, y debido a los campos #N/A, la fórmula no funcionaba! Lo corregí con un si.error, para que en lugar #N/A aparezca un espacio en blanco.
La adapté de la siguiente manera:
=CONTAR(1/FRECUENCIA(SI($G$10:$G$7998=»Pedido abierto»;SI($AB$10:$AB$7998=»R.Rodríg»;SI($H$10:$H$7998=»Sin Recibir»;COINCIDIR($F$10:$F$7998;$F$10:$F$7998;0))));FILA($G$10:$G$7998)-FILA(DESREF($G$10:$G$7998;;;1;))+1))
Logré que me funcionara en desde su archivo de prueba, pero al copiarla al mío no detecta nada.
https://numar-my.sharepoint.com/:f:/g/personal/lfzeledon_grupo_numar_net/ElXUDvIy7QZApajtQ_bnAJ0BAlQr4Z-sHkczDYwQO6qZKA?e=5qmjlJ
Mira estos pantallazos.
No puedo acceder a la información, y por lo que veo son imágenes. Necesitaría ver los datos o un ejemplo de ellos. Si te funciona en mi hoja, debería funcionarte en la tuya. Verifica los rangos en la fórmula que se está recogiendo toda la información. Saludos.
Hola!
El problema que tenía era que una de las columnas tenía fórmula buscarv, y debido a los campos #N/A, la fórmula no funcionaba! Lo corregí con un si.error, para que en lugar #N/A aparezca un espacio en blanco.