Uso de CONTAR.SI con varias condiciones o de CONTAR.SIS-CONTAR.SI.CONJUNTO

Utilizar la función CONTAR.SI con varias condiciones no es posible. Y sin embargo es una necesidad que tienen los usuarios, como se refleja habitualmente en el Foro Oficial de OpenOffice, donde muchos usuarios preguntan acerca del uso de esta función aplicada a esos casos.

La versión 4.0 introdujo la función CONTAR.SIS (CONTAR.SI.CONJUNTO) con el objeto de poder utilizar varias condiciones a la hora de realizar un recuento condicional, pero lo que muchos usuarios ignoran es que esta función sólo se aplica cuando las condiciones son de tipo Y.

En esta artículo estudiamos distintas formas de utilizar CONTAR, CONTARA, CONTAR.SI y CONTAR.SIS o CONTAR.SI.CONJUNTO, y cómo se deben aplicar cada una de ellas, sobre todo en el caso de tener que evaluar una o más condiciones.

 

Utilizar CONTAR, CONTARA, CONTAR.SI y CONTAR.SIS o CONTAR.SI.CONJUNTO

Debemos tener en cuenta que la función:

  • CONTAR permite contar aquellas celdas que contienen números (bien sea un valor numérico, fecha, hora o fórmula que de como resultado un valor numérico). Se denomina y funciona de forma idéntica en OpenOffice, LibreOffice y en MS Excel.
  • CONTARA permite contar aquellas celdas que contienen algo, sea número o texto. Se denomina y funciona de forma idéntica en OpenOffice, LibreOffice y en MS Excel.
  • CONTAR.SI permite contar aquellas celdas que cumplen una condición, y se denomina y funciona de forma idéntica en OpenOffice, LibreOffice y en MS Excel.
  • CONTAR.SIS o CONTAR.SI.CONJUNTO es la función que permite evaluar más de una condición de tipo Y; funcionan de idéntico modo en las tres suites, pero reciben nombres distintos, pues en OpenOffice se denomina CONTAR.SIS, mientras que en LibreOffice y en MS Excel se denomina CONTAR.SI.CONJUNTO.

 

Por lo tanto, lo primero que debemos de tener claro es que a la hora de evaluar una sóla condición, utilizaremos CONTAR.SI, mientras que a la hora de evaluar varias condiciones de tipo Y utilizaremos CONTAR.SIS o CONTAR.SI.CONJUNTO, según la suite que utilicemos.

El problema llega cuando queremos evaluar condiciones de tipo O o de tipo mixto. En este caso, ninguna de las funciones que hemos visto por sí solas nos sirven.

Condiciones de tipo Y, de tipo O, o de tipo mixto Y/O

¿Y eso de las condiciones de tipo Y y de tipo O que es? ¿Tipo mixto? Si te preguntas esto, sigue leyendo; en caso contrario, pasa al punto siguiente.

Imaginemos una hoja de cálculo en la que disponemos de los datos de género, nacionalidad y edad de una muestra de usuarios, y queremos contar cuantos cumplen distintas condiciones.

En una hoja de cálculo, evaluar una condición pueda ser, por ejemplo, si una celda es igual, mayor, mayor o igual, menor, menor o igual, o distinta de un determinado valor (numérico, texto, lógico o el contenido por otra celda).

Imaginemos que en B14 tenemos un dato, que queremos comparar con un número, texto o con el contenido de la celda B16. En otra celda podríamos introducir una fórmula del tipo:

=B14>=18
=B14="España"
=B14=B16
=B14<>B16

y obtendriamos en esa celda un resultado del tipo VERDADERO o FALSO según la condición se cumpla o no.

Si las celdas contienen el distintos valores, la condición devuelve FALSO
 
Si las celdas contienen los mismos valores, la condición devuelve VERDADERO
 

Esto es así de simple para una condición. Pero cuando queremos combinar varias condiciones, se complica levemente, pues debemos apoyarnos en la función Y y en la función O.

En ese caso vamos a evaluar si una celda cumple una o varias condiciones, o si varias celdas de un registro (una fila habitualmente, aunque también podrían estar dispuestas en columna) cumplen una o varias condiciones.

Pudiera ser que las condiciones que deseamos evaluar sean todas de tipo Y, o todas de tipo O, o sean de tipo mixto (mezclando Y/O)

  • Una condición de tipo Y es aquella en que se deben cumplir todos los requisitos para obtener un Verdadero. Por ejemplo, si queremos evaluar aquellos usuarios que son varones, españoles y de edad igual o superior a los 18 años. Tan sólo aquellos registros en que se cumplan las tres condiciones pasarán el filtro y deberán ser contabilizados.

Contar cuantos son ( varones y españoles ). En este caso, la fórmula que nos permite evaluar si un registro cumple las condiciones tendría una estructura como esta:

= Y ( Genero ; Nacionalidad )

Por ejemplo, si en B14 tenemos el género, y en C14 la nacionalidad:

= Y ( B14="Varón" ; C14="España" )
  • Una condición de tipo O es aquella en que se debe cumplir al menos uno de los requisitos para obtener un Verdadero. Por ejemplo, si queremos evaluar aquellos usuarios que son varones, o españoles, o de edad igual o superior a los 18 años. Todos aquellos registros en que se cumpla al menos una de las tres condiciones pasarán el filtro y deberán ser contabilizados.

Contar cuantos son ( varones o españoles ). En este caso, la fórmula que nos permite evaluar si un registro cumple las condiciones tendría una estructura como esta:

= O ( Genero ; Nacionalidad )

Por ejemplo, si en B14 tenemos el género, y en C14 la nacionalidad:

= O ( B14="Varón" ; C14="España" )
  • Una condición de tipo mixta (Y/O) es aquella en que se debe cumplir todos los requisitos de tipo Y al menos uno de los requisitos de tipo O para obtener un Verdadero.

Contar cuantos son ( varones o españoles ), y de edad igual o superior a los 18 años. En este caso, la fórmula que nos permite evaluar si un registro cumple las condiciones tendría una estructura como esta:

= Y ( O ( Genero ; Nacionalidad ) ; Edad )

Por ejemplo, si en B14 tenemos el género, en C14 la nacionalidad y en D14 la edad:

= Y ( O (B14="Varón" ; C14="España" ) ; D14>=18 )

Contar cuantos son varones, o (españoles y de edad igual o superior a los 18 años). En este caso, la fórmula que nos permite evaluar si un registro cumple las condiciones tendría una estructura como esta:

=O ( Genero ; Y ( Nacionalidad ; Edad) )

Por ejemplo, si en B14 tenemos el género, en C14 la nacionalidad y en D14 la edad:

= O ( B14="Varón" ; Y (C14="España" ) ; D14>=18 )

 

Como vemos, la forma de escribir las condiciones es muy importante. En la práctica se suele distinguir por las pausas al enunciarlo; al escribir se corresponde con el adecuado uso de las comas. Nosotros hemos utilizado paréntesis para dejar clara y sin lugar a dudas la intención en cada caso.

Cómo utilizar CONTAR.SI con varias condiciones de tipo Y o de tipo O

Independientemente de que podemos simplificar la resolución de este problema utilizando CONTAR.SIS cuando las condiciones son todas de tipo Y, queda claro que debemos elaborar un método para los casos en que tengamos que evaluar condiciones de tipo O y de tipo mixto (mezclando Y/O)

En ese caso la solución requiere crear una tabla auxiliar (que nos gusta llamar tabla de la verdad) donde se evalúen previamente si las celdas de cada registro cumplen o no las distintas condiciones.

Una vez tengamos esa tabla auxiliar, obtendremos una o más celdas con un valor que será VERDADERO o FALSO. Pues bien, ahora es tan sencillo como contar aquellas celdas en que tenemos un VERDADERO. Hemos reducido dos o más condiciones a una sola, por lo que de nuevo podremos utilizar la función CONTAR.SI.

Ejemplo de uso de CONTAR.SI con varias condiciones

Puedes descargar esta hoja de cálculo a modo de ejemplo, que de hecho incluye celdas con las funciones CONTAR, CONTARA, CONTAR.SI y CONTAR.SIS, que en LibreOffice o en Excel se verá como CONTAR.SI.CONJUNTO.

En la hoja ejemplo disponemos de los datos correspondientes a unos productos almacenados en diversas cajas. Cada una de ellas puede contener un tipo de producto, identificado por un determinado modelo y color. Es posible que las cajas contengan existencias de dichos productos, o no.Descargate este ejemplo con las funciones CONTAR, CONTARA, CONTAR.SI y CONTAR.SIS, que en LibreOffice o en Excel se verá como CONTAR.SI.CONJUNTO

En el ejemplo se pueden observar claramente la oportunidad y el uso de cada una de las funciones vistas, según la necesidad que tengamos. Si la celda aparece con una barra en diagonal roja significa que no procede.

 

Descargar hoja de cálculo ejemplo de
CONTAR CONTARA CONTAR.SI CONTAR.SIS CONTAR.SI.CONJUNTO

 

CONTAR sin una condición

El ejemplo muestra cómo utilizar la función CONTAR o la función CONTARA cuando queremos contar celdas sin aplicar ninguna condición.

Las celdas G2 y G3 muestran distintos usos de la función CONTAR, mientras que las celdas H2 y H3 contienen el resultado obtenido si utilizamos en su lugar la función CONTARA. Como se observa, la diferencia es básicamente que la segunda incluye las celdas que contienen algún texto, no sólo valores numéricos como hace la primera.

CONTAR.SI con una condición

Las celdas G6 y G7 contienen las fórmulas utilizadas para contar aquellas celdas que cumplen una sóla condición.

Como se ve en el ejemplo, no procede utilizar CONTAR.SIS aunque podría utilizarse sólo con una condición, como se puede ver en las celdas H6 y H7.

 

CONTAR.SI con dos condiciones tipo Y o CONTAR.SIS

Las celdas G10 y H10 ilustran el modo de utilizar las funciones cuando tenemos varias condiciones de tipo Y.

  • En la celda G10 vemos cómo podemos utilizar CONTAR.SI, pero hemos tenido que implementar la tabla de la verdad de la columna J para reducir las dos condiciones a una sola.
  • En la celda H10 vemos cómo podemos utilizar CONTAR.SIS directamente, sin implementar una tabla de la verdad.

Tablas de la verdad auxiliares utilizadas en el ejemplo

 CONTAR.SI con dos condiciones tipo O

Las celdas G12, G15 y G16 ilustran distintas formas de contar celdas cuando existen varias condiciones del tipo O.

La celda G12 precisará de una tabla de la verdad, la que vemos en la columna K; el método utilizado en G13 vemos que nos dá un resultado incorrecto, pues en este caso cuenta dos veces dos líneas.

La celda G15 muestra algo común en el lenguaje, y es que a veces decimos Y cuando informáticamente debemos expresar O. Decimos que queremos contar cuantas cajas contienen productos modelo M02 y modelo M04. Pero no es posible que una caja contenga productos del modelo M02 y también del modelo M04, por lo tanto, contar cuantas celdas contienen a la vez las dos refencias no tiene sentido. Decimos Y cuando queremos decir O. En este caso hemos utilizado la tabla auxiliar de la columna L.

La celda G16 muestra un método alternativo, que en este caso sí nos puede servir, pues no puede contar una misma línea dos veces.

El uso de la función CONTAR.SIS (CONTAR.SI.CONJUNTO) no se puede aplicar a ninguno de estos ejemplos, pues interpretan las condiciones como si fuesen del tipo Y, ofreciendo resultados incorrectos como se puede ver en las celdas H12 y H15.

 CONTAR.SI con condiciones mixtas Y/O

La celda G19 presenta el método de contar registros cuando existen varias condiciones mixtas del tipo Y/O.

Precisará implementar una tabla de la verdad, la que vemos en la columna M, donde se ha anidado una función Y dentro de una función O.

La función CONTAR.SIS (CONTAR.SI.CONJUNTO) tampoco se puede aplicar a este ejemplo, pues interpretan las varias condiciones como si fuesen del tipo Y, ofreciendo de nuevo un resultado incorrecto como se aprecia en la celda H19.

Y qué ocurre con las funciones SUMAR.SI y SUMAR.SIS (SUMAR.SI.CONJUNTO)

Pues con estas funciones ocurre exactamente lo mismo. Todo lo indicado hasta el momento se puede aplicar a las funciones SUMAR.SI y SUMAR.SIS.

Por ejemplo, quizás queremos sumar las existencias de aquellas cajas que contengan productos:

  • del modelo M02 y de color verde.
  • del modelo M02 o de color verde.
  • del modelo M02, o de color verde y con más de 3 unidades en stock.
  • del modelo M02 o de color verde, y con más de 3 unidades en stock.

13 comentarios

Comentario De: Enrique Valverde [Visitante]  

En el caso que planteas "CONTAR.SI con dos condiciones tipo O" el ejemplo de la celda G13 (Alternativa no válida: utilizar 2 o + CONTAR.SI) tiene una simple solución, y es sumar por separado los conjuntos y quitarle el que se repite:
=CONTAR.SI(B2:B30;"M02") + CONTAR.SI(C2:C30;"Azul") - CONTAR.SIS(B2:B30;"M02";C2:C30;"Azul")
E igual con algunos otros ejemplos. Por si a alguien le es de utilidad.

15.03.16 @ 00:09
Comentario De: [Miembro]

Gracias por tu aportación.
Saludos

27.05.17 @ 23:40
Comentario De: jose luis [Visitante]

estimado, la explicación esta buena, podrías detallar algunas formulas, igual a las de Enrique, por ejemplo:
la columna A tiene meses de enero a diciembre y la columna B tiene colores azul verde y rojo.
entonces la idea es contar los colores azules y rojos del mes de enero.

gracias

06.05.16 @ 22:07
Comentario De: [Miembro]

Hola
En ese caso habría que utilizar la función CONTAR.SIS
Saludos :)

27.05.17 @ 23:39
Comentario De: José María [Visitante]

Buenas tardes.
¿Sería posible contar las veces que se dan los tres turnos ( M=mañana, T=tarde y N= noche ) en un cuadrante de horario laboral, en tres días consecutivos, durante un periodo de un mes?

Muchas gracias

03.12.16 @ 13:15
Comentario De: FABIAN GUTIERREZ [Visitante]

Mil gracias, fue de gran ayuda tu blog. Sobretodo por los archivos, mejor explicados nunca. Gracias.

04.02.17 @ 04:23
Comentario De: [Miembro]

Gracias :)

27.05.17 @ 23:37
Comentario De: Pau [Visitante]

Cómo hacer para que en una funcion condicional en una misma celda me acepte varios valores como condicion para que arroje un mismo resultado

28.02.17 @ 08:28
Comentario De: [Miembro]

No hemos entendido la pregunta

27.05.17 @ 23:36
Comentario De: lola [Visitante]

Buenos días.
Tengo una hoja excel con dos columnas: A y B
En A tengo códigos y en B fechas (un código puede tener muchas fechas y viceversa)
Quiero contar para un código A, el número de fechas DIFERENTES que aparecen en B

12.04.17 @ 07:33
Comentario De: [Miembro]

Hola
Puedes utilizar la función CONTAR.SI
Saludos :)

27.05.17 @ 23:36
Comentario De: Gaston [Visitante]  

Hola necesito contar las celdas que no tiene un color determinado (verde) ¿existe alguna forma de hacer esto?
Saludos

10.05.17 @ 13:51
Comentario De: [Miembro]

Sí se puede, pero no mediante este sistema, sino con macros.
Puedes consultar Macro para contar según color de fondo de la celda
Saludos :)

27.05.17 @ 23:18

Esta publicación tiene 1 reacción esperando moderación...


Form is loading...