Tabla de contenido
El tutorial explica cómo utilizar las funciones COUNTIF y COUNTIFS de Excel para contar celdas con múltiples condiciones OR, por ejemplo, si una celda contiene X, Y o Z.
Como todo el mundo sabe, la función COUNTIF de Excel está diseñada para contar celdas basándose en un solo criterio, mientras que COUNTIFS evalúa múltiples criterios con lógica AND. ¿Pero qué ocurre si su tarea requiere lógica OR - cuando se proporcionan varias condiciones, cualquiera puede coincidir para ser incluida en el recuento?
Hay varias soluciones posibles para esta tarea, y este tutorial las cubrirá todas con todo detalle. Los ejemplos implican que usted tiene un conocimiento sólido de la sintaxis y los usos generales de ambas funciones. Si no es así, puede que quiera empezar por repasar los conceptos básicos:
Función COUNTIF de Excel - cuenta las celdas con un criterio.
Función COUNTIFS de Excel - cuenta celdas con múltiples criterios AND.
Ahora que todo el mundo está de acuerdo, entremos en materia:
Contar celdas con condiciones OR en Excel
Esta sección cubre el escenario más simple: contar las celdas que cumplen alguna (al menos una) de las condiciones especificadas.
Fórmula 1. COUNTIF + COUNTIF
La forma más sencilla de contar las celdas que tienen un valor u otro (Countif a o b ) es escribir una fórmula COUNTIF normal para contar cada elemento individualmente y luego sumar los resultados:
COUNTIF( gama , criterio1 ) + COUNTIF( gama , criterio2 )Por ejemplo, averigüemos cuántas celdas de la columna A contienen "manzanas" o "plátanos":
=COUNTIF(A:A, "manzanas") + COUNTIF(A:A, "plátanos")
En las hojas de cálculo de la vida real, es una buena práctica operar en rangos en lugar de columnas enteras para que la fórmula funcione más rápido. Para ahorrarse la molestia de actualizar la fórmula cada vez que cambien las condiciones, escriba los elementos de interés en celdas predefinidas, digamos F1 y G1, y haga referencia a esas celdas. Por ejemplo:
=COUNTIF(A2:A10, F1) + COUNTIF(A2:A10, G1)
Esta técnica funciona bien para un par de criterios, pero si se añaden tres o más funciones COUNTIF, la fórmula resultaría demasiado engorrosa. En este caso, es mejor optar por una de las siguientes alternativas.
Fórmula 2. COUNTIF con constante de matriz
He aquí una versión más compacta de la fórmula SUMIF con condiciones OR en Excel:
SUMA(COUNTIF( gama , { criterio1 , criterio2 , criterio3 , ...}))La fórmula se construye de esta manera:
En primer lugar, se empaquetan todas las condiciones en una matriz constante: los elementos individuales separados por comas y la matriz entre llaves, como {"manzanas", "plátanos", "limones"}.
A continuación, se incluye la constante de matriz en el criterios argumento de una fórmula COUNTIF normal: COUNTIF(A2:A10, {"manzanas", "plátanos", "limones"})
Por último, deforme la fórmula COUNTIF en la función SUM. Es necesario porque COUNTIF devolverá 3 recuentos individuales para "manzanas", "plátanos" y "limones", y usted necesita sumar esos recuentos.
Nuestra fórmula completa es la siguiente:
=SUMA(COUNTIF(A2:A10,{"manzanas", "plátanos", "limones"}))
Si prefiere proporcionar sus criterios como referencias de rango tendrás que introducir la fórmula con Ctrl + Mayús + Intro para convertirla en una fórmula de matriz. Por ejemplo:
=SUMA(COUNTIF(A2:A10,F1:H1))
Fíjese en las llaves rizadas de la siguiente captura de pantalla: es la indicación más evidente de que se trata de una fórmula de matriz en Excel:
Fórmula 3. SUMPRODUCTO
Otra forma de contar celdas con lógica OR en Excel es utilizar la función SUMPRODUCT de esta forma:
SUMPRODUCTO(1*( gama ={ criterio1 , criterio2 , criterio3 , ...}))Para visualizar mejor la lógica, esto también podría escribirse como:
SUMPRODUCTO(( gama = criterio1 ) + ( gama = criterio2 ) + ...)La fórmula comprueba cada celda del rango con cada criterio y devuelve TRUE si se cumple el criterio, FALSE en caso contrario. Como resultado intermedio, se obtienen unas cuantas matrices de valores TRUE y FALSE (el número de matrices es igual al número de criterios). A continuación, se suman los elementos de la matriz que se encuentran en la misma posición, es decir, los primeros elementos de todas las matrices, los segundos elementos, etc. La fórmulaconvierte los valores lógicos en números, de modo que se obtiene una matriz de 1 (uno de los criterios coincide) y 0 (ninguno de los criterios coincide). Dado que todos los criterios se comprueban con las mismas celdas, no hay forma de que aparezca ningún otro número en la matriz resultante: sólo una matriz inicial puede tener TRUE en una posición específica, las demás tendrán FALSE. Por último, SUMPRODUCTsuma los elementos de la matriz resultante, y se obtiene el recuento deseado.
La primera fórmula funciona de forma similar, con la diferencia de que devuelve una matriz bidimensional de valores TRUE y FALSE, que se multiplican por 1 para convertir los valores lógicos a 1 y 0, respectivamente.
Aplicadas a nuestro conjunto de datos de muestra, las fórmulas adoptan la siguiente forma:
=SUMPRODUCT(1*(A2:A10={"manzanas", "plátanos", "limones"}))
O
=SUMPRODUCTO((A2:A10="manzanas") + (A2:A10="plátanos") + (A2:A10="limones"))
Sustituya la constante de matriz codificada por una referencia de rango y obtendrá una solución aún más elegante:
=SUMPRODUCTO(1*( A2:A10=F1:H1))
Nota: La función SUMPRODUCT es más lenta que COUNTIF, por lo que es preferible utilizar esta fórmula con conjuntos de datos relativamente pequeños.
Contar celdas con lógica OR y AND
Cuando se trabaja con grandes conjuntos de datos que tienen relaciones multinivel y multinivel entre elementos, lo más probable es que tenga que contar celdas con condiciones OR y AND a la vez.
Como ejemplo, obtengamos un recuento de "manzanas", "plátanos" y "limones" "entregados" ¿Cómo lo hacemos? Para empezar, traduzcamos nuestras condiciones al lenguaje de Excel:
- Columna A: "manzanas" o "plátanos" o "limones"
- Columna C: "entregado"
Desde otro punto de vista, tenemos que contar las filas con "manzanas y entregadas" O "plátanos y entregados" O "limones y entregados". Dicho de este modo, la tarea se reduce a contar celdas con 3 condiciones OR - ¡exactamente lo que hicimos en la sección anterior! La única diferencia es que utilizará COUNTIFS en lugar de COUNTIF para evaluar el criterio AND dentro de cada condición OR.
Fórmula 1. COUNTIFS + COUNTIFS
Es la fórmula más larga, la más fácil de escribir :)
=COUNTIFS(A2:A10, "manzanas", C2:C10, "entregado") + COUNTIFS(A2:A10, "plátanos", C2:C10, "entregado")) + COUNTIFS(A2:A10, "limones", C2:C10, "entregado"))
La siguiente captura de pantalla muestra la misma fórmula con referencias de celdas:
=COUNTIFS(A2:A10, K1, C2:C10, K2) + COUNTIFS(A2:A10, L1, C2:C10, K2) + COUNTIFS(A2:A10, M1,C2:C10, K2)
Fórmula 2. COUNTIFS con constante de matriz
Se puede crear una fórmula COUNTIFS más compacta con lógica AND/OR empaquetando los criterios OR en una constante de matriz:
=SUMA(COUNTIFS(A2:A10, {"manzanas", "plátanos", "limones"}, C2:C10, "entregado"))
Cuando se utiliza una referencia de rango para los criterios, se necesita una fórmula de matriz, que se completa pulsando Ctrl + Mayús + Intro :
=SUMA(COUNTIFS(A2:A10,F1:H1,C2:C10,F2))
Consejo: si lo necesita, puede utilizar comodines en los criterios de cualquiera de las fórmulas comentadas anteriormente. Por ejemplo, para contar todo tipo de plátanos como "plátanos verdes" o "plátanos goldfinger" se puede utilizar esta fórmula:
=SUMA(COUNTIFS(A2:A10, {"manzanas", "*plátanos*", "limones"}, C2:C10, "entregado"))
De forma similar, puede construir una fórmula para contar celdas basándose en otros tipos de criterios. Por ejemplo, para obtener un recuento de "manzanas" o "plátanos" o "limones" que han sido "entregados" y la cantidad es superior a 200, añada un par más de rango de criterios/criterios a COUNTIFS:
=SUMA(COUNTIFS(A2:A10, {"manzanas", "*plátanos*", "limones"}, C2:C10, "entregado", B2:B10, ">200"))
O bien, utilice esta fórmula de matriz (introducida mediante Ctrl + Mayús + Intro ):
=SUM(COUNTIFS(A2:A10,F1:H1,C2:C10,F2, B2:B10, ">"&F3))
Recuento de células con múltiples condiciones OR
En el ejemplo anterior, has aprendido a probar un conjunto de condiciones OR. Pero, ¿qué ocurre si tienes dos o más conjuntos y buscas obtener un total de todas las relaciones OR posibles?
Dependiendo del número de condiciones que necesite manejar, puede utilizar COUNTIFS con una constante de matriz o SUMPRODUCT con ISNUMBER MATCH. El primero es relativamente fácil de construir, pero está limitado a sólo 2 conjuntos de condiciones OR. El segundo puede evaluar cualquier número de condiciones (un número razonable, por supuesto, dado el límite de Excel a 255 argumentos y 8192 caracteres a la longitud total de la fórmula),pero puede costar algún esfuerzo comprender la lógica de la fórmula.
Recuento de células con 2 conjuntos de condiciones OR
Cuando se trata de sólo dos conjuntos de criterios OR, sólo tiene que añadir una constante de matriz más a la fórmula COUNTIFS discutido anteriormente.
Para que la fórmula funcione, es necesario un cambio minúsculo pero fundamental: utilizar un matriz horizontal (elementos separados por comas) para un conjunto de criterios y matriz vertical (Esto indica a Excel que "empareje" o "cruce" los elementos de las dos matrices y devuelva una matriz bidimensional con los resultados.
Por ejemplo, contemos las "manzanas", "plátanos" o "limones" que están "entregados" o "en tránsito":
=SUMA(COUNTIFS(A2:A10, {"manzanas", "plátanos", "limones"}, B2:B10, {"entregado"; "en tránsito"}))
Tenga en cuenta el punto y coma en la segunda constante del array:
Dado que Excel es un programa bidimensional, no es posible construir una matriz tridimensional o cuatridimensional, por lo que esta fórmula sólo funciona para dos conjuntos de criterios OR. Para contar con más criterios, tendrá que cambiar a una fórmula SUMPRODUCT más compleja que se explica en el siguiente ejemplo.
Recuento de células con varios conjuntos de condiciones OR
Para contar celdas con más de dos conjuntos de criterios OR, utilice la función SUMPRODUCT junto con ISNUMBER MATCH.
Por ejemplo, hagamos un recuento de las "manzanas", "plátanos" o "limones" que están "entregados" o "en tránsito" y envasados en "bolsa" o "bandeja":
=SUMPRODUCT(ISNUMBER(MATCH(A2:A10,{"manzanas", "plátanos", "limones"},0))*
ISNUMBER(MATCH(B2:B10,{"bolsa", "bandeja"},0))*
ISNUMBER(MATCH(C2:C10,{"entregado", "en tránsito"},0))
En el corazón de la fórmula, la función MATCH comprueba los criterios comparando cada celda del rango especificado con la constante correspondiente de la matriz. Si se encuentra la coincidencia, devuelve una posición relativa del valor si la matriz, N/A en caso contrario. ISNUMBER convierte estos valores en TRUE y FALSE, que equivalen a 1 y 0, respectivamente. SUMPRODUCT sigue a partir de ahí, y multiplica las constantes de las matricesComo al multiplicar por cero se obtiene cero, sólo sobreviven y se suman las celdas que tienen 1 en todas las matrices.
La siguiente captura de pantalla muestra el resultado:
Así es como se usan las funciones COUNTIF y COUNTIFS en Excel para contar celdas con múltiples condiciones AND así como OR. Para ver más de cerca las fórmulas discutidas en este tutorial, te invito a descargar nuestro libro de ejemplo a continuación. Te agradezco por leer y ¡espero verte en nuestro blog la próxima semana!
Cuaderno de prácticas
Excel COUNTIF con condiciones OR - ejemplos (.xlsx file)