¿Cómo contar valores únicos basados en múltiples criterios en Excel?
En muchos escenarios prácticos, no solo es necesario contar valores, sino también determinar cuántos elementos únicos cumplen con ciertas condiciones dentro de tus datos. Por ejemplo, podrías querer saber la cantidad de productos diferentes que vendió un vendedor en particular o cuántos pedidos únicos se realizaron dentro de un período específico. Manejar estas tareas eficientemente en Excel requiere familiarizarse con fórmulas adecuadas, características avanzadas como tablas dinámicas o incluso soluciones personalizadas con VBA. En este artículo, exploraremos varios métodos prácticos para contar valores únicos basados en uno o más criterios, con instrucciones paso a paso y consejos.
Contar valores únicos basados en un criterio
Contar valores únicos basados en dos fechas dadas
Contar valores únicos basados en dos criterios
Contar valores únicos basados en tres criterios
Contar valores únicos con Tabla Dinámica (Cuenta Distinta, Excel 2013+)
Contar valores únicos con código VBA (para casos complejos/automatizados)
Contar valores únicos basados en un criterio
Consideremos un caso común: quieres contar cuántos productos diferentes vendió Tom. Este método es adecuado cuando tienes un conjunto de datos simple y deseas evaluar la unicidad basándote en una sola condición, como los registros de ventas de una persona. Es sencillo pero requiere el uso cuidadoso de fórmulas matriciales.
Para este escenario, introduce la siguiente fórmula en una celda en blanco (por ejemplo, celda G2):
=SUMA(SI("Tom"=$C$2:$C$20;1/(CONTAR.SI.CONJUNTO($C$2:$C$20; "Tom"; $A$2:$A$20; $A$2:$A$20));0))
Después de escribir la fórmula, presiona Ctrl + Shift + Enter (no solo Enter) para confirmarla como una fórmula matricial. Las llaves aparecerán alrededor de la fórmula en la barra de fórmulas, y verás el resultado inmediatamente como se muestra a continuación:
Nota:
- “Tom” es el criterio que deseas usar para filtrar los resultados. Puedes reemplazar "Tom" con una referencia a otra celda (por ejemplo, $F$2) si deseas más flexibilidad.
- $C$2:$C$20 contiene los nombres de los vendedores que se van a evaluar.
- $A$2:$A$20 es la columna de productos para la cual deseas contar valores únicos.
- Si tu rango de datos cambia, recuerda ajustar las referencias en consecuencia.
Consejo: Si usas Excel 365 o Excel 2019 y versiones posteriores, puedes intentar usar las funciones ÚNICO
y FILTRAR
para fórmulas más simples.
Si encuentras algún error #¡DIV/0!, verifica nuevamente los criterios y asegúrate de que tus rangos tengan la misma longitud.
Contar valores únicos basados en dos fechas dadas
Cuando necesitas encontrar el número de elementos únicos dentro de un rango de fechas específico, por ejemplo, todos los productos únicos vendidos entre el 2016/9/1 y el 2016/9/30, puedes aplicar este enfoque. Esto es especialmente útil al analizar tendencias de datos entre períodos específicos, como mensualmente, trimestralmente o en rangos de fechas personalizados. Sin embargo, ten cuidado con el formato de fecha; debe coincidir con los valores de fecha de tu hoja de trabajo.
Coloca la siguiente fórmula en una celda en blanco donde desees mostrar el resultado:
=SUMA(SI($D$2:$D$20<=FECHA(2016;9;30)*($D$2:$D$20>=FECHA(2016;9;1));1/CONTAR.SI.CONJUNTO( $A$2:$A$20; $A$2:$A$20; $D$2:$D$20; "<="&FECHA(2016;9;30);$D$2:$D$20; ">="&FECHA(2016;9;1)));0)
Presiona Ctrl + Shift + Enter después de ingresar la fórmula para ejecutarla como una fórmula matricial. La captura de pantalla a continuación demuestra el resultado:
Nota:
- 2016,9,1 y 2016,9,30 son los criterios de fecha de inicio y fin. Puedes modificar estos según sea necesario, o incluso usar referencias de celda para filtros de fecha dinámicos.
- $D$2:$D$20 contiene las entradas de fecha que se deben verificar.
- $A$2:$A$20 es nuevamente la columna de ítems o productos que deseas contar de forma única.
- Asegúrate de que tus fechas estén almacenadas como fechas válidas de Excel, no como cadenas de texto. Si tu resultado no aparece como esperabas, confirma tu formato de fecha y rangos.
Consejo: Usa FECHA(año, mes, día) para evitar problemas con el formato de fecha regional. Al usar rangos dinámicos, considera usar rangos con nombre para mayor claridad.
Contar valores únicos basados en dos criterios
Supongamos que deseas analizar solo los productos que Tom vendió en septiembre, combinando el nombre y un rango de fechas en tu recuento único. Este escenario es común para revisiones de rendimiento basadas en períodos o análisis segmentados. A medida que tus criterios se expanden, la fórmula se vuelve más compleja y la atención a la precisión de los datos se vuelve aún más importante.
Introduce la fórmula a continuación en cualquier celda en blanco, como H2:
=SUMA(SI(("Tom"=$C$2:$C$20)*($D$2:$D$20<=FECHA(2016;9;30))*($D$2:$D$20>=FECHA(2016;9;1));1/CONTAR.SI.CONJUNTO($C$2:$C$20; "Tom"; $A$2:$A$20; $A$2:$A$20; $D$2:$D$20; "<="&FECHA(2016;9;30);$D$2:$D$20; ">="&FECHA(2016;9;1)));0)
Después de escribir la fórmula, confírmala con Ctrl + Shift + Enter. Deberías ver el recuento único de inmediato; consulta la siguiente ilustración:
Notas:
- “Tom” es el criterio de nombre, mientras que “2016,9,1” y “2016,9,30” son los límites de tu rango de fechas. Ajusta según sea necesario o hazlos dinámicos con referencias de celda.
- $C$2:$C$20 es la columna del personal (u otro primer criterio); $D$2:$D$20 es la columna de fechas; $A$2:$A$20 contiene los ítems únicos que deseas contar.
- Los rangos deben tener todos la misma longitud para evitar errores.
Si deseas usar criterios tipo “o”, como contar productos únicos vendidos por Tom o en la región Sur, puedes usar la siguiente fórmula. Esto permite condiciones de búsqueda más amplias, aunque los resultados pueden superponerse si los datos coinciden con ambos criterios:
=SUMA(--(FRECUENCIA(SI(("Tom"=$C$2:$C$20)+("Sur"=$B$2:$B$20); CONTAR.SI($A$2:$A$20; "<"&$A$2:$A$20); ""); CONTAR.SI($A$2:$A$20; "<"&$A$2:$A$20))>0))
No olvides presionar Ctrl + Shift + Enter. Verás los resultados como se muestra a continuación:
Consejo: Al aplicar criterios tipo O, ten en cuenta la posible doble contabilización si el mismo registro satisface ambas condiciones. Para conjuntos de datos grandes, el rendimiento puede verse afectado.
Contar valores únicos basados en tres criterios
A veces, tu análisis podría requerir tres o más condiciones, como determinar productos únicos vendidos por Tom en septiembre solo en la región Norte. Esto es común en análisis de datos multidimensionales para informes u obtención de conocimientos comerciales específicos. La gestión cuidadosa de referencias es esencial para manejar esta lógica compuesta.
Coloca esta fórmula matricial en una celda en blanco (por ejemplo, I2):
=SUMA(SI(("Tom"=$C$2:$C$20)*($D$2:$D$20<=FECHA(2016;9;30))*($D$2:$D$20>=FECHA(2016;9;1))*("Norte"=$B$2:$B$20);1/CONTAR.SI.CONJUNTO($C$2:$C$20; "Tom"; $A$2:$A$20; $A$2:$A$20; $D$2:$D$20; "<="&FECHA(2016;9;30); $D$2:$D$20; ">="&FECHA(2016;9;1); $B$2:$B$20; "Norte"));0)
Presiona Ctrl + Shift + Enter para finalizar. Aquí hay un resultado de muestra para referencia:
Para condiciones avanzadas, verifica nuevamente que todos los rangos sean consistentes y que los tipos de datos (por ejemplo, fecha y texto) sean correctos. Los desajustes pueden causar errores o resultados engañosos.
Consejos:
- Si encuentras problemas de rendimiento en conjuntos de datos grandes, considera dividir la fórmula o usar la solución de Tabla Dinámica de Excel.
- Los rangos con nombre o la referencia de celdas para todos los criterios mejoran la legibilidad y reducen errores en las fórmulas.
- Para uso frecuente, considera registrar estas fórmulas en referencias de celdas con nombre o funciones personalizadas.
Contar valores únicos con Tabla Dinámica (Cuenta Distinta, Excel 2013+)
Para usuarios de Excel 2013 o posterior, las Tablas Dinámicas ofrecen una alternativa interactiva y sin fórmulas para contar valores únicos en uno o varios criterios. La función Cuenta Distinta te ayuda a resumir y filtrar grandes conjuntos de datos de manera eficiente, lo que hace que este método sea especialmente adecuado para entornos dinámicos basados en informes. Sin embargo, ten en cuenta que las versiones anteriores de Excel no admiten la función Cuenta Distinta dentro de las Tablas Dinámicas.
Cómo usar este método:
- Selecciona tu conjunto de datos y ve a Insertar > Tabla Dinámica.
- En el cuadro de diálogo Crear Tabla Dinámica, elige dónde colocar la Tabla Dinámica, marca la casilla "Agregar estos datos al Modelo de Datos" y luego haz clic en Aceptar.
- Arrastra el campo que deseas contar de forma única (por ejemplo, Producto) al área Valores. Por defecto, se mostrará como "Recuento de...".
- Haz clic en el campo en el área Valores y selecciona Configuración del Campo de Valor.
- En el cuadro emergente, desplázate hacia abajo y selecciona Cuenta Distinta (Esta opción está disponible solo en Excel 2013 o posterior, y aparece cuando la Tabla Dinámica se crea con la opción "Agregar estos datos al Modelo de Datos" habilitada).
- Agrega tus campos de criterios (por ejemplo, Vendedor, Región, Fecha) al área Filtros o Filas/Columnas para aplicar condiciones simples o múltiples.
- Tu Tabla Dinámica ahora mostrará el recuento único de valores filtrados por tus criterios elegidos.
Ventajas: Altamente visual, fácil de ajustar filtros sin editar fórmulas y adecuada para informes interactivos.
Limitaciones: No disponible en Excel 2010 o versiones anteriores; agregar nuevos datos requiere actualizar manualmente la Tabla Dinámica.
Consejo práctico: Asegúrate siempre de que los datos de origen no tengan duplicados dentro del mismo registro si no están destinados a ello. Si encuentras que falta la opción Cuenta Distinta, vuelve a crear la Tabla Dinámica y marca la opción "Agregar estos datos al Modelo de Datos".
Contar valores únicos con código VBA (para casos complejos/automatizados)
A veces, podrías necesitar contar valores únicos basados en varios criterios automáticamente, especialmente al manejar conjuntos de datos muy grandes o cuando se repite el análisis con frecuencia. Una macro VBA es ideal para tales situaciones, ya que puede procesar rápidamente diferentes lógicas, incluida la filtración de múltiples condiciones, sin intervención manual después de la configuración. Sin embargo, VBA es más avanzado que las características regulares de Excel, por lo que es mejor utilizado por usuarios familiarizados con macros o aquellos con necesidades analíticas continuas.
Pasos de operación:
- Presiona Alt + F11 para abrir el editor de VBA. En el editor, selecciona Insertar > Módulo para crear un nuevo módulo.
- Copia y pega el siguiente código VBA en el módulo:
Sub CountUniqueWithCriteria()
Dim DataRange As Range
Dim CriteriaRange As Range
Dim CriteriaValue As Variant
Dim Dict As Object
Dim i As Long
Dim UniqueCount As Long
Dim ResultCell As Range
Set Dict = CreateObject("Scripting.Dictionary")
' Prompt for range settings
Set DataRange = Application.InputBox("Select data range (items to count):", "KutoolsforExcel", Type:=8)
Set CriteriaRange = Application.InputBox("Select criteria range (e.g. Salesperson):", "KutoolsforExcel", Type:=8)
CriteriaValue = Application.InputBox("Enter criteria value:", "KutoolsforExcel", "", Type:=2)
Set ResultCell = Application.InputBox("Select cell for result output:", "KutoolsforExcel", Type:=8)
On Error Resume Next
For i = 1 To DataRange.Rows.Count
If CriteriaRange.Cells(i, 1).Value = CriteriaValue Then
If Not Dict.Exists(DataRange.Cells(i, 1).Value) Then
Dict.Add DataRange.Cells(i, 1).Value, 1
End If
End If
Next i
UniqueCount = Dict.Count
ResultCell.Value = UniqueCount
MsgBox "Unique count for '" & CriteriaValue & "': " & UniqueCount, vbInformation, "KutoolsforExcel"
End Sub
- Cierra el editor de VBA y regresa a tu hoja de trabajo. Presiona Alt + F8, selecciona ContarUnicoConCriterios y ejecuta la macro.
- Sigue las indicaciones de entrada para especificar los rangos y criterios según tus datos. El resultado aparecerá en la celda que elijas y también como un cuadro de mensaje.
Explicación de parámetros y notas:
- Esta macro está configurada actualmente para un criterio. Para extenderla a múltiples criterios, modifica la lógica
Si ... Entonces
dentro del bucle. - Guarda siempre tu libro antes de ejecutar macros, ya que los cambios no se pueden deshacer.
- Habilita las macros en la configuración de Excel si encuentras errores de ejecución.
- Este método funciona bien para datos más grandes o que se actualizan con frecuencia, donde las fórmulas manuales serían complicadas.
Beneficios: Altamente personalizable y automatizable, maneja conjuntos de datos grandes y cambiantes de manera eficiente. Adecuado para necesidades avanzadas o flujos de trabajo repetitivos.
Inconvenientes: Requiere permisos de macro, y los principiantes pueden necesitar tiempo para familiarizarse con las operaciones de VBA.
Al trabajar con recuentos de valores únicos basados en criterios, siempre confirma tus referencias de rango y asegúrate de que todas las columnas de criterios estén alineadas en tamaño. Los rangos no coincidentes son una fuente común de errores o resultados incorrectos. Si las fórmulas devuelven resultados inesperados, verifica posibles problemas de formato ocultos o celdas en blanco. Para escenarios críticos de rendimiento, las Tablas Dinámicas y VBA proporcionan alternativas sólidas a las fórmulas matriciales. Elige la solución que mejor se adapte a tu nivel de comodidad y la complejidad de tu conjunto de datos. Recuerda, Kutools para Excel proporciona utilidades y atajos adicionales que pueden agilizar muchas de estas tareas para una mayor eficiencia en libros complejos.
Las mejores herramientas de productividad para Office
Mejora tu dominio de Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...
Office Tab incorpora la interfaz de pestañas en Office y facilita mucho tu trabajo
- Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abre y crea varios documentos en nuevas pestañas de la misma ventana, en lugar de hacerlo en ventanas separadas.
- ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!
Todos los complementos de Kutools. Un solo instalador
El paquete Kutools for Office agrupa complementos para Excel, Word, Outlook y PowerPoint junto con Office Tab Pro, ideal para equipos que trabajan en varias aplicaciones de Office.





- Suite todo en uno: complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
- Un solo instalador, una licencia: configuración en minutos (compatible con MSI)
- Mejor juntos: productividad optimizada en todas las aplicaciones de Office
- Prueba completa de30 días: sin registro ni tarjeta de crédito
- La mejor relación calidad-precio: ahorra en comparación con la compra individual de complementos