Contar celdas según condiciones es una habilidad simple en apariencia, pero que se vuelve crucial tan pronto como se trabaja con tablas reales: ventas, listas de clientes, fechas de vencimiento o inventarios. Las funciones NB.SI y NB.SI.CONJUNTO ofrecen una respuesta directa: la primera para un criterio, la segunda para varios. Aquí le explico su sintaxis, sus casos de uso concretos, las trampas comunes — y le doy fórmulas para copiar y pegar y ahorrar tiempo.
Somaire
En resumen
🧭 NB.SI cuenta las celdas de un rango que satisfacen un solo criterio (ej. «>100», «Juan», «2025-01-01»). Útil para verificaciones rápidas y tablas simples.
🔗 NB.SI.CONJUNTO acepta varios rangos/criterios y exige que todos los rangos tengan el mismo tamaño: ideal para cruzar estado + región + periodo.
⚠️ Cuidado con los formatos: fechas, números almacenados como texto y espacios ocultos suelen provocar errores. Algunas correcciones simples son suficientes.
💡 Como alternativa, SUMPRODUCT y las tablas dinámicas permiten conteos más sofisticados cuando NB.SI.CONJUNTO alcanza sus límites.
Diferencia fundamental y sintaxis
NB.SI: un criterio, un rango
NB.SI (COUNTIF en inglés) responde a esta pregunta: «¿cuántas celdas en este rango cumplen este criterio?» Su sintaxis es simple: =NB.SI(rango; criterio). El criterio puede ser un texto exacto («Rojo»), un operador lógico combinado con un número («>=100»), o contener comodines (* y ?) para coincidencias parciales.
NB.SI.CONJUNTO: varios criterios
NB.SI.CONJUNTO (COUNTIFS) extiende el principio a varios pares rango/criterio: =NB.SI.CONJUNTO(rango_criterio1; criterio1; rango_criterio2; criterio2; …). Cada rango debe tener el mismo número de filas/columnas. La función devuelve el número de filas donde todos los criterios son simultáneamente verdaderos.
Tabla resumen
| Función | Uso | Ejemplo | Observación práctica |
|---|---|---|---|
| NB.SI | 1 criterio sobre 1 rango | =NB.SI(B2:B100; «Vendido») | Más rápido para una verificación puntual |
| NB.SI.CONJUNTO | Varios criterios sobre rangos independientes | =NB.SI.CONJUNTO(B2:B100; «Vendido»; C2:C100; «España») | Los rangos deben tener el mismo tamaño |
| SUMPRODUCT | Alternativa para lógica arbitraria | =SUMAPRODUCTO((B2:B100=»Vendido»)*(C2:C100=»España»)) | Más flexible, pero a veces más lento |
Ejemplos concretos y variantes útiles
1) Contar con comodines (búsqueda parcial)
Si quiere contar clientes cuyo nombre empieza por «Dup», use:
=NB.SI(A2:A500; «Dup*»)
El comodín * reemplaza cualquier secuencia de caracteres; ? reemplaza un carácter. NB.SI no distingue mayúsculas de minúsculas: «dupont» y «Dupont» se contarán igual.
2) Criterios numéricos y fechas
Para contar importes mayores a 1000:
=NB.SI(D2:D1000; «>1000»)
Para una fecha posterior al 1 de enero de 2024:
=NB.SI(E2:E100; «>2024-01-01»)
Si Excel no interpreta correctamente la fecha, encapsúlela en la función FECHA o use una celda de referencia:
=NB.SI(E2:E100; «>» & F1)
donde F1 contiene la fecha.
3) Varios criterios: ejemplo comercial
Número de pedidos validados en Francia para el comercial « Martin » :
=CONTAR.SI.CONJUNTO(RangoEstado; «Validada»; RangoPaís; «Francia»; RangoComercial; «Martin»)
Asegúrese de que RangoEstado, RangoPaís y RangoComercial cubran exactamente las mismas filas (ej. B2:B500, C2:C500, D2:D500).
4) Caso avanzado: combinar texto parcial y números
Busca las filas donde el producto contiene «USB» y la cantidad es mayor que 10:
=CONTAR.SI.CONJUNTO(RangoProducto; «*USB*»; RangoCantidad; «>10»)
La primera condición usa un comodín, la segunda un operador numérico. Esta combinación se usa frecuentemente para filtrar ventas por tipo de producto y umbral de cantidad.
Errores frecuentes y correcciones
- Formato incorrecto: las fechas y números almacenados como texto no se cuentan correctamente. Solución: usar VALOR, FECHANUMERO, o forzar el formato con pegado especial.
- Espacios invisibles: un espacio final impide la coincidencia exacta. Limpie con ESPACIOS() o BUSCAR/REEMPLAZAR.
- Tamaños de rango diferentes: CONTAR.SI.CONJUNTO devolverá error si los rangos no tienen la misma dimensión.
- Criterios dinámicos: concatene el criterio con & (ampersand) para comparar con una celda:
=CONTAR.SI(A2:A100; «>» & G1)
- Rendimiento: rangos muy grandes con muchos criterios pueden ralentizar; SUMAPRODUCTO puede ser aún más lento según el contexto.
Alternativas y trucos avanzados
SUMAPRODUCTO permite construir lógicas arbitrarias, por ejemplo OR complejos o ponderaciones. Para contar filas donde al menos una condición es verdadera, no se puede usar CONTAR.SI.CONJUNTO directamente; se puede combinar CONTAR.SI o usar SUMAPRODUCTO:
=SUMAPRODUCTO(((A2:A100=»X») + (B2:B100=»Y»))>0)
Esta fórmula suma condiciones booleanas y devuelve 1 si al menos una es verdadera. Es más verbosa, pero muy potente para análisis puntuales.
Consejo práctico: después de importar datos
Después de importar una tabla — por ejemplo un archivo CSV — verifique inmediatamente:
- los formatos columna por columna (texto vs número vs fecha),
- las celdas vacías o duplicadas al final del rango,
- los separadores decimales que cambian según la región (coma vs punto).
Estas verificaciones evitan la mayoría de falsos negativos al usar CONTAR.SI y CONTAR.SI.CONJUNTO. Una vez estandarizados los formatos, sus fórmulas se vuelven robustas y reutilizables.
Ejemplos listos para copiar
- Contar productos devueltos:
=CONTAR.SI(RangoEstado; «Devuelto»)
- Clientes VIP en 2024:
=CONTAR.SI.CONJUNTO(RangoTipoCliente; «VIP»; RangoFechaPedido; «>=2024-01-01»)
- Ventas Francia + monto > 5000:
=CONTAR.SI.CONJUNTO(RangoPaís; «Francia»; RangoMonto; «>5000»)
Preguntas frecuentes
¿Por qué CONTAR.SI.CONJUNTO devuelve #¡VALOR!?
La causa más frecuente es que los rangos no tienen el mismo tamaño. Verifique que cada rango comience y termine en las mismas filas/columnas. Otra fuente: un criterio mal formado (ej. «=» solo) o un tipo incompatible (fecha en texto).
¿Cómo tratar mayúsculas/minúsculas?
CONTAR.SI y CONTAR.SI.CONJUNTO no distinguen mayúsculas de minúsculas. Si necesita una comparación sensible a mayúsculas, debe usar fórmulas matriciales o SUMAPRODUCTO combinando EXACTO() con N().
¿Se pueden usar expresiones regulares?
Excel nativo no ofrece expresiones regulares en CONTAR.SI. Para patrones complejos, use Power Query o VBA, o funciones avanzadas en Office 365 (LET, FILTER) combinadas con lógica condicional.
¿Cómo depurar un conteo que parece incorrecto?
Proceda por etapas: verifique el rango visible (ordenar/filtro), limpie espacios y formatos, pruebe un criterio simple y luego agregue más progresivamente. Use el formato condicional para visualizar lo que Excel considera verdadero.