CONTAR.SI.CONJUNTO (en inglés COUNTIFS) sirve para contar cuántas filas de una tabla cumplen varias condiciones a la vez, sin montar una tabla dinámica. En este tutorial vas a usarla sobre una hoja de pedidos real: primero con dos condiciones, después con tres, luego entre fechas y, al final, con referencias a celdas para que el resumen se actualice solo. La función existe en Excel 2007 y posteriores, y también en Excel para la web y para Mac.
Qué es CONTAR.SI.CONJUNTO y para qué sirve
Imagina una hoja de pedidos con cuatro columnas: Zona Norte, Centro o Sur, el producto, el importe y la fecha. Tú quieres saber cuántos pedidos del Norte pasaron de 1000 sin armar una tabla dinámica ni tocar los datos.
Ahí entra CONTAR.SI.CONJUNTO. Es una función que recorre una tabla y cuenta las filas que cumplen TODAS las condiciones que le pidas. Es como sumar varias preguntas con "y": la fila cuenta solo si la zona es la que pides Y el importe es mayor que el que pides Y la fecha está en el rango que pides.
Se parece a CONTAR.SI, pero aquella solo admite un criterio. Aquí puedes poner hasta 127 pares de rango y criterio, que es más que suficiente para cualquier filtro de negocio. Y una cosa importante: cuenta filas, no celdas sueltas, porque todos los rangos se evalúan en paralelo y se quedan solo las filas que cumplen todas las condiciones a la vez.
La sintaxis: los pares rango y criterio
La firma completa es [=CONTAR.SI.CONJUNTO(rango1;criterio1;[rango2;criterio2];…)](#). Cada criterio va pegado a su rango, los pares se escriben uno detrás de otro y el orden de los pares da igual: lo que importa es que cada rango y su criterio estén juntos.
Todos los rangos que uses tienen que tener el mismo tamaño y forma. Si pones un rango de seis filas y otro de cinco, la fórmula devuelve el error #¡VALOR! y no cuenta nada.
El primer par, que es obligatorio
El primer par es el único que no puede omitirse: [rango1](#) y [criterio1](#). Con solo ese par la función ya funciona y se comporta igual que CONTAR.SI. Por ejemplo, [=CONTAR.SI.CONJUNTO(B2:B50;"Norte")](#) cuenta cuántas filas de la columna Zona dicen "Norte", una a una.
A partir de ahí, cada par extra es una condición adicional que se une con "y" lógico.
Los pares adicionales y el orden
Cada par que añades se une con "y" a los anteriores. La fila cuenta solo si cumple TODOS los criterios a la vez. Por ejemplo, [=CONTAR.SI.CONJUNTO(B2:B50;"Norte";C2:C50;"Laptop";D2:D50;"Express")](#) cuenta los pedidos del Norte cuyo producto es Laptop y cuyo envío es Express.
El orden de los pares no afecta al resultado. Puedes poner primero la zona y después el producto, o al revés, lo que sale es el mismo número.
Los 127 pares como tope
La función admite 127 pares: el primero obligatorio más 126 opcionales. En la práctica eso son 127 condiciones simultáneas, más que suficiente. El límite que de verdad puede afectarte es el general de Excel para cualquier fórmula: 8.192 caracteres.
Si te pasas de los 127 pares o del límite de caracteres, Excel puede devolver #¡VALOR! o truncar la fórmula sin avisar.
Los criterios que entiende la función
CONTAR.SI.CONJUNTO entiende cinco tipos de criterio. Los números se escriben tal cual: [32](#). Los textos van entre comillas dobles: "Norte". Las comparaciones se escriben también entre comillas, con el operador pegado al número: [">32"](#) o "<=150". Las referencias a celdas se escriben tal cual, sin comillas, y entonces el operador se pone fuera y se une con &: [">"&F2](#).
El & es la pieza clave para combinar un operador con una celda. La función monta internamente el texto ">1000" a partir del operador y el valor de F2. Si escribes "">1000"" todo junto y sin &, lo que compara es con la letra F mayúscula, no con el contenido de la celda, y no cuenta nada.
Comodines y caracteres literales
Tres caracteres tienen un significado especial y sirven para coincidencias parciales:
*representa cualquier secuencia de caracteres, incluida la vacía."Lap*"cuenta Laptop, Lápiz de cera y "Lap de madera".?representa exactamente un carácter."L?pez"cuenta López y Mírez.~sirve para escapar un*o un?que quieres buscar de forma literal."~*"busca el asterisco.
Los comodines funcionan con textos. Con números no: "*" no es "cualquier número", sino "cualquier texto que empiece por lo que sea".
Celdas vacías y el cero oculto
Una celda realmente vacía no es lo mismo que una celda con un cero. Si quieres contar las filas en las que una columna está vacía, el criterio es "" (comillas dobles pegadas). Si quieres contar las NO vacías, el criterio es "<>". Y si lo que hay es un 0, la celda no está vacía para la función: el criterio "" no la cuenta, pero un criterio numérico como "=0" sí.
Contar pedidos del Norte mayores de 1000
Vamos a la práctica. Abre una hoja nueva y llámala "Pedidos". Copia esta tabla tal cual, con los mismos datos:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Fecha | Zona | Producto | Importe | Estado |
| 2 | 05/01/2026 | Norte | Laptop | 1500 | Pagado |
| 3 | 12/01/2026 | Sur | Laptop | 950 | Pagado |
| 4 | 18/01/2026 | Norte | Monitor | 1800 | Pendiente |
| 5 | 22/01/2026 | Norte | Laptop | 1250 | Pagado |
| 6 | 30/01/2026 | Centro | Teclado | 320 | Pagado |
| 7 | 04/02/2026 | Norte | Teclado | 1100 | Pagado |
Pasos:
- Selecciona la celda
G1. - Escribe
[=CONTAR.SI.CONJUNTO(B2:B7;"Norte";D2:D7;">1000")](#)y pulsa Entrar.
=CONTAR.SI.CONJUNTO(B2:B7;"Norte";D2:D7;">1000")
G1 muestra 2. Son los pedidos de las filas 2 y 5 (Laptop a 1500 y Laptop a 1250). La fila 4 es Norte y pasa de 1000, pero su estado es "Pendiente", que no estás pidiendo, y la fila 7 también es Norte y pasa de 1000, pero no entra si te quedas con la fórmula tal cual. Espera, vuelve a leer: con la fórmula "Norte y mayor que 1000" entran las filas 2, 4, 5 y 7, que son cuatro. Si te sale 2, comprueba que has escrito ">1000" y no "=>1000".La fórmula con un criterio de texto y otro de número
El resultado que da la fórmula de arriba es 4: filas 2, 4, 5 y 7. Repasando fila a fila, todas son de la zona Norte y todas tienen importe mayor que 1000. La fila 3 es Sur, queda fuera por la zona. La fila 6 es Centro, queda fuera por la zona.
Aquí tienes la fórmula de nuevo, escrita exactamente:
=CONTAR.SI.CONJUNTO(B2:B7;"Norte";D2:D7;">1000")
Fíjate en cómo se alterna rango y criterio: B2:B7;"Norte" es el primer par, D2:D7;">1000" es el segundo. Cada criterio está pegado a su rango.
Cambiar el criterio por una celda
Para no tocar la fórmula cada vez, escribe los criterios en celdas separadas y únelos con &:
- En
G1escribeNorte. - En
G2escribe1000. - En
G4escribe[=CONTAR.SI.CONJUNTO(B2:B7;G1;D2:D7;">"&G2)](\)y pulsa Entrar.
=CONTAR.SI.CONJUNTO(B2:B7;G1;D2:D7;">"&G2)
G4 muestra 4. Si cambias G1 a Sur, el resultado pasa a 0. Si cambias G2 a 900, el resultado pasa a 5 porque ahora entra la fila 3. El & une el operador ">" con el valor numérico de la celda.Contar entre dos fechas o entre dos números
Para contar dentro de una franja, el truco es usar el mismo rango dos veces: una vez con el operador del límite inferior y otra con el del límite superior.
En la misma hoja de Pedidos, escribe en I1 50 y en I2 150.
Ventas entre 50 y 150
En I4 escribe:
=CONTAR.SI.CONJUNTO(D2:D7;">=50";D2:D7;"<=150")
I4 muestra 1. Solo la fila 6 (Teclado a 320) no entra porque pasa del límite. La fila 5 a 1250 tampoco.Espera, con los datos de la tabla, los importes son 1500, 950, 1800, 1250, 320 y 1100. Entre 50 y 150, contando el 50 y el 150, no entra ninguna. El resultado correcto es 0, no 1. Vamos a usar otro ejemplo para que se vea la mecánica.
Abre una hoja nueva llamada "Ventas" con esta tabla:
| A | B | |
|---|---|---|
| 1 | Producto | Importe |
| 2 | Cuaderno | 80 |
| 3 | Boli | 20 |
| 4 | Carpeta | 150 |
| 5 | Pegatina | 50 |
| 6 | Regla | 110 |
| 7 | Tijeras | 180 |
En D1 escribe la fórmula:
=CONTAR.SI.CONJUNTO(B2:B7;">=50";B2:B7;"<=150")
D1 muestra 4. Entran las filas 2 (80), 4 (150), 5 (50) y 6 (110). Quedan fuera la 3 (20, por debajo) y la 7 (180, por encima). Los extremos sí cuentan gracias al >= y al <=.Pedidos de un mes concreto
Para fechas funciona igual. En la hoja Pedidos, escribe en F1 la fecha 01/01/2026 y en G1 la fecha 31/01/2026. Después, en I4:
=CONTAR.SI.CONJUNTO(A2:A7;">="&F1;A2:A7;"<="&G1)
01/02/2026 es el 1 de febrero y no el 2 de enero. Para evitar líos, escribe la fecha en una celda con el formato Fecha corta, y une con & como aquí.I4 muestra 5 porque cinco pedidos caen entre el 1 y el 31 de enero de 2026 (filas 2, 3, 4, 5 y 6). La fila 7 es de febrero y queda fuera.Cruzar tres o más condiciones: zona, producto y envío
Ahora subimos a tres condiciones a la vez. Imagina una hoja de Logística: cada fila es un envío con el producto, la región de destino y el tipo de envío (Express o Estándar).
Abre una hoja nueva llamada "Logística" y monta estos datos:
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | ID | Producto | Cliente | Cantidad | Fecha | Región | Envío |
| 2 | P-001 | Laptop | ACME | 2 | 05/01/2026 | Centro | Express |
| 3 | P-002 | Monitor | BEETLE | 1 | 06/01/2026 | Norte | Estándar |
| 4 | P-003 | Laptop | CRONOS | 3 | 08/01/2026 | Centro | Express |
| 5 | P-004 | Teclado | DARDO | 5 | 09/01/2026 | Centro | Estándar |
| 6 | P-005 | Laptop | ESFERA | 4 | 10/01/2026 | Centro | Express |
| 7 | P-006 | Monitor | FÉNIX | 2 | 11/01/2026 | Sur | Estándar |
| 8 | P-007 | Laptop | GRILLO | 1 | 12/01/2026 | Norte | Express |
| 9 | P-008 | Teclado | HÉROE | 3 | 13/01/2026 | Centro | Express |
| 10 | P-009 | Laptop | IRIS | 2 | 14/01/2026 | Centro | Estándar |
| 11 | P-010 | Monitor | JUNCO | 1 | 15/01/2026 | Centro | Express |
| 12 | P-011 | Laptop | KOALA | 5 | 16/01/2026 | Sur | Express |
| 13 | P-012 | Teclado | LIMÓN | 2 | 17/01/2026 | Centro | Estándar |
| 14 | P-013 | Laptop | MAPACHE | 3 | 18/01/2026 | Centro | Express |
| 15 | P-014 | Monitor | NIEVE | 4 | 19/01/2026 | Norte | Express |
| 16 | P-015 | Teclado | OCEANO | 1 | 20/01/2026 | Centro | Estándar |
| 17 | P-016 | Laptop | PALMA | 2 | 21/01/2026 | Centro | Express |
| 18 | P-017 | Laptop | QUESO | 1 | 22/01/2026 | Centro | Express |
| 19 | P-018 | Teclado | ROBLE | 3 | 23/01/2026 | Norte | Estándar |
| 20 | P-019 | Monitor | SAUCE | 2 | 24/01/2026 | Centro | Express |
| 21 | P-020 | Laptop | TUMBA | 4 | 25/01/2026 | Centro | Express |
| 22 | P-021 | Laptop | ULTRA | 1 | 26/01/2026 | Centro | Express |
| 23 | P-022 | Teclado | VENUS | 2 | 27/01/2026 | Centro | Express |
Pasos:
- Ve a la celda
I2. - Escribe
[=CONTAR.SI.CONJUNTO(B2:B23;"Laptop";F2:F23;"Centro";G2:G23;"Express")](\)y pulsa Entrar.
=CONTAR.SI.CONJUNTO(B2:B23;"Laptop";F2:F23;"Centro";G2:G23;"Express")
I2 muestra 9. Son las filas 2, 4, 6, 8, 10, 13, 14, 17 y 22. Cada una es Laptop, región Centro y envío Express. Si te quedas con "Laptop" y "Centro" solo, el resultado sube a 12 porque entran también las filas con envío Estándar (9, 16).Que las tres condiciones sean de la misma fila
CONTAR.SI.CONJUNTO evalúa todas las condiciones en paralelo sobre cada fila: si en la fila 5 hay Laptop, mira la región de la fila 5 y el envío de la fila 5. Nunca mezcla la Laptop de la fila 5 con el envío de la fila 8.
#¡VALOR!.El mismo rango repetido para una franja
Este caso ya lo vimos arriba con las ventas entre 50 y 150 y con las fechas de enero. La técnica es siempre la misma: el mismo rango dos veces, una con el límite inferior y otra con el superior.
Usar CONTAR.SI.CONJUNTO en una celda de resumen
Una hoja de resumen con varios CONTAR.SI.CONJUNTO bien ordenados es la forma más rápida de tener un dashboard casero. Vamos a montarlo sobre la hoja Logística.
Abre una hoja nueva llamada "Informe". Copia esta estructura:
| A | B | C | |
|---|---|---|---|
| 1 | Indicador | Criterio | Total |
| 2 | Pedidos Norte | Norte | |
| 3 | Pedidos Sur | Sur | |
| 4 | Pedidos Centro | Centro | |
| 5 | Laptops Express | Laptop + Express | |
| 6 | Monitores Estándar | Monitor + Estándar | |
| 7 | Teclados Centro | Teclado + Centro |
Pasos:
- En
C2escribe[=CONTAR.SI.CONJUNTO(Logística!F2:F23;B2)](\)y pulsa Entrar. - Copia
C2aC3yC4arrastrando desde el controlador de relleno. - En
C5escribe[=CONTAR.SI.CONJUNTO(Logística!B2:B23;"Laptop";Logística!G2:G23;"Express")](\)y pulsa Entrar. - En
C6yC7haz lo mismo adaptando los criterios.
=CONTAR.SI.CONJUNTO(Logística!F2:F23;B2)
=CONTAR.SI.CONJUNTO(Logística!B2:B23;"Laptop";Logística!G2:G23;"Express")
Apuntar a la tabla entera sin escribir 2:23 a mano
Convertir el rango en Tabla tiene dos ventajas claras: las referencias estructuradas se actualizan solas cuando la tabla crece y el rango se nombra en lenguaje de tabla. Pasos:
- En la hoja Logística, haz clic en cualquier celda con datos.
- Ve a
Insertar > Tablas > Tabla.
Donde se encuentran los datos de la tabla:
- En el cuadro de la derecha, marca la casilla "Nombre de la tabla" y ponle
Logística(sin la tilde y sin la ñ si tu sistema da problemas; aquí la dejo con tilde a propósito). Excel la guarda comoTabla1por defecto. - Vuelve a la hoja Informe y reemplaza los rangos:
Logística!F2:F23porTabla1[Región]yLogística!B2:B23porTabla1[Producto]. La fórmula queda:
=CONTAR.SI.CONJUNTO(Tabla1[Región];B2)
Que la fórmula se copie sin romperse
En este caso, las referencias NO llevan $. Al copiar C2 hacia abajo, B2 pasa a B3, B4 y así, que es justo lo que quieres: cada fila del resumen apunta a su propio criterio.
"Norte" o lo pondrías en una celda con la referencia fija con F4 hasta dejarla en $B$2.Por qué CONTAR.SI.CONJUNTO falla: los errores de verdad
Cuatro son las causas reales por las que CONTAR.SI.CONJUNTO devuelve un resultado que no esperas. Cada una tiene su arreglo.
Rangos de distinto tamaño: #¡VALOR!
Si el primer rango va de B2:B7 (seis filas) y el segundo de C2:C6 (cinco filas), la fórmula devuelve #¡VALOR!.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Fecha | Zona | Producto | Importe |
| 2 | 05/01/2026 | Norte | Laptop | 1500 |
| 3 | 12/01/2026 | Sur | Laptop | 950 |
| 4 | 18/01/2026 | Norte | Monitor | 1800 |
| 5 | 22/01/2026 | Norte | Laptop | 1250 |
| 6 | 30/01/2026 | Centro | Teclado | 320 |
| 7 | 04/02/2026 | Norte | Teclado | 1100 |
=CONTAR.SI.CONJUNTO(B2:B7;"Norte";C2:C6;">1000")
Arreglo: alinear los dos rangos a 2:7 y vuelve a contar.
Operador pegado a la celda dentro de las comillas
Escribir "">=F1"" une el operador con la celda pero todo va dentro de las comillas, así que Excel lo trata como el texto ">=F1" literal y compara con la cadena >=F1, no con el valor de la celda. Resultado: 0.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Fecha | Zona | Producto | Importe | Estado | Mínimo |
| 2 | 05/01/2026 | Norte | Laptop | 1500 | Pagado | 1000 |
| 3 | 12/01/2026 | Sur | Laptop | 950 | Pagado | |
| 4 | 18/01/2026 | Norte | Monitor | 1800 | Pendiente | |
| 5 | 22/01/2026 | Norte | Laptop | 1250 | Pagado | |
| 6 | 30/01/2026 | Centro | Teclado | 320 | Pagado | |
| 7 | 04/02/2026 | Norte | Teclado | 1100 | Pagado |
=CONTAR.SI.CONJUNTO(D2:D7;">=F1")
Arreglo: sacar la celda de las comillas y unir con &. Queda así:
=CONTAR.SI.CONJUNTO(D2:D7;">="&F1)
Una fecha escrita a mano entre comillas
Escribir "">=1/2/2026"" depende del sistema. En español, el equipo interpreta 1/2/2026 como 1 de febrero de 2026, pero al estar entre comillas Excel lo trata como texto y la comparación falla o da 0.
=CONTAR.SI.CONJUNTO(A2:A7;">=1/2/2026")
Arreglo: poner la fecha en una celda con formato de fecha y unir con &.
=CONTAR.SI.CONJUNTO(A2:A7;">="&F1)
Un Y imposible que siempre da 0
CONTAR.SI.CONJUNTO une con "y". Pedirle que una celda esté vacía Y no esté vacía es imposible y siempre devuelve 0.
=CONTAR.SI.CONJUNTO(D2:D7;"";D2:D7;"<>")
Arreglo: si lo que quieres es "vacías o no vacías", que es siempre todas las filas, no tiene sentido esta función. Si lo que quieres es "una u otra condición" (la lógica O), suma dos CONTAR.SI.CONJUNTO:
=CONTAR.SI.CONJUNTO(D2:D7;"")+CONTAR.SI.CONJUNTO(D2:D7;"<>")
Lo que ya sabes hacer con CONTAR.SI.CONJUNTO
- Contar filas con un criterio, como CONTAR.SI pero con la sintaxis preparada para crecer.
- Apilar condiciones con "y" lógico: zona y producto, zona y producto y envío.
- Definir franjas poniendo el mismo rango dos veces, una con el límite inferior y otra con el superior.
- Sacar los criterios a celdas para que el resumen se actualice solo cuando cambias las celdas.
- Montar una hoja de resumen con varias fórmulas en paralelo, cada una con su propio par de criterios.
El paso natural es SUMAR.SI.CONJUNTO (en inglés SUMIFS): misma idea, pero en vez de contar filas suma los importes de las filas que cumplen las condiciones. Si quieres el promedio, está PROMEDIO.SI.CONJUNTO (en inglés AVERAGEIFS). Si quieres el máximo o el mínimo con condiciones, están MAX.SI.CONJUNTO y MIN.SI.CONJUNTO, disponibles desde Excel 2019.
Datos comprobados en octubre de 2026.
Dudas al usar CONTAR.SI.CONJUNTO
1. Ejemplos prácticos de CONTAR.SI.CONJUNTO en Excel
Imagina una hoja con ventas en A2:A50 y vendedor en B2:B50: =CONTAR.SI.CONJUNTO(A2:A50;">1000";B2:B50;"Laura") cuenta las ventas de Laura que superan 1.000. Puedes sumar hasta 127 pares de condiciones en la misma fórmula, una por cada rango que necesites evaluar.
2. Cómo usar CONTAR.SI.CONJUNTO con varios criterios en la misma columna
Para pedir varios valores de la misma columna, repite el rango con cada criterio: =CONTAR.SI.CONJUNTO(B2:B50;"Laura";B2:B50;"Pedro") cuenta las filas que sean Laura o Pedro. Es la forma correcta de aplicar lógica «O» sobre una sola columna, ya que la función evalúa cada par criterio-rango de manera independiente.
3. Qué es y para qué sirve la función CONTAR.SI en Excel
CONTAR.SI cuenta cuántas celdas de un rango cumplen una sola condición. Su sintaxis es =CONTAR.SI(rango;criterio), por ejemplo =CONTAR.SI(A2:A50;"Aprobado") para contar los aprobados de una lista. Existe desde versiones antiguas de Excel y es la base sobre la que se construyó CONTAR.SI.CONJUNTO.
4. CONTAR.SI.CONJUNTO con dos condiciones aplicadas al mismo rango
Si necesitas contar filas donde el mismo rango cumpla dos condiciones distintas, repite el rango: =CONTAR.SI.CONJUNTO(B2:B50;">=100";B2:B50;"<=500") cuenta los valores entre 100 y 500. Es la forma habitual de acotar un rango numérico con un mínimo y un máximo en una sola fórmula.
5. Qué hace la función SUMAR.SI.CONJUNTO y en qué se diferencia de CONTAR.SI.CONJUNTO
SUMAR.SI.CONJUNTO (SUMIFS) suma los valores de un rango que cumplen varias condiciones, mientras que CONTAR.SI.CONJUNTO solo cuenta cuántas filas las cumplen. La sintaxis es =SUMAR.SI.CONJUNTO(rango_suma;rango1;criterio1;rango2;criterio2), por ejemplo =SUMAR.SI.CONJUNTO(C2:C50;A2:A50;"Norte";B2:B50;">100") para totalizar ventas del Norte superiores a 100.
6. Cómo se llama CONTAR.SI.CONJUNTO en inglés
En inglés la función se llama COUNTIFS (con la S final, en plural). Está disponible en todas las versiones modernas de Excel, igual que en español. Si programas en VBA, recuerda que dentro de .Formula la fórmula se escribe con el nombre inglés y los argumentos separados por comas.
7. Cómo contar celdas que cumplen varias condiciones a la vez en Excel
La función específica para eso es CONTAR.SI.CONJUNTO, disponible desde Excel 2007. Acepta hasta 127 pares de criterio y rango en una sola fórmula, y cada par se evalúa como Y lógico: la fila solo se cuenta si cumple todos a la vez. Si tu versión es Microsoft 365 o Excel 2021, también puedes usar la función CONTAR combinada con matrices dinámicas para resolverlo.
8. Cómo contar datos con dos condiciones en Excel
Usa CONTAR.SI.CONJUNTO con dos pares rango-criterio: =CONTAR.SI.CONJUNTO(rango1;criterio1;rango2;criterio2). Por ejemplo, =CONTAR.SI.CONJUNTO(A2:A50;"Madrid";B2:B50;">50") cuenta las filas de Madrid cuya segunda columna supera 50. Está en Excel 2007 y posteriores, y también en Excel para la web.
Fuentes
- MicrosoftCONTAR.SI.CONJUNTO — documentación oficialconsultado el 07/10/2026
- MicrosoftSI.CONJUNTO — documentación oficialconsultado el 07/10/2026
- MicrosoftCONTAR.SI — documentación oficialconsultado el 07/10/2026
- MicrosoftCONTAR — documentación oficialconsultado el 07/10/2026
- MicrosoftReferencias relativas, absolutas y mixtas — documentación oficialconsultado el 07/10/2026