USO COMBINADO DE LAS FUNCIONES SUMAPRODUCTO E IGUAL, DISCRIMINAR MAYÚSCULAS Y MINÚSCULAS.

Hola  a todos:

Hoy seguiré hablando sobre fórmulas, aunque muchas de las consultas que me envían son sobre programación, lo cierto es que también me llegan muchas dudas sobre fórmulas y cómo utilizarlas, por lo que creo que es interesante darle visibilidad para que todos nos podamos beneficiar : )

Esta es la consulta que me enviaban:

“Hola, tengo una consulta. El countif no diferencia entre mayusculas y minusculas. Si tengo el nombre “CASA” y en otra celda “casa” dirá que es duplicado pero yo necesito que lo diferencie. Alguna idea?

muchas gracias”

 

Pues bien, el tema de la discriminación de mayúsculas y minúsculas cuando usamos fórmulas suele ser bastante recurrente y en el caso que nos ocupa, el lector necesita contar y por lo tanto diferenciar las minúsculas y mayúsculas.

Para solucionar esto, tenemos varias posibilidades y aunque algunas de ellas requieren utilizar columnas auxiliares (algo que suelo utilizar solo cuando no queda más remedio), lo más eficiente es trabajar con una única celda.

Vamos con un ejemplo:

USO COMBINADO DE LAS FUNCIONES SUMAPRODUCTO E IGUAL

En la columna C debemos contar las veces que se repite “cultura y ocio” en minúscula. Pues bién para hacerlo utilizaremos la combinación de la función SUMAPRODUCTO e IGUAL:

=SUMAPRODUCTO(IGUAL($C$2:$C$64980;"cultura y ocio")*1)

También se podría omitir la multiplicación del 1 del final (necesario para pasar los datos a número de la función sumaproducto, utilizando el siguiente operador “–“:

=SUMAPRODUCTO(--IGUAL($C$2:$C$64980;"cultura y ocio"))

En ambos casos el resultado es de “3”

Y si necesitamos introducir otra condición, también lo podemos hacer. Por ejemplo las veces que se repite “cultura y ocio” y el sexo es MUJER:

=SUMAPRODUCTO(IGUAL($C$2:$C$64980;"cultura y ocio")*1;(IGUAL($E$2:$E$64980;"MUJER")*1))

O también:

=SUMAPRODUCTO(--IGUAL($C$2:$C$64980; "cultura y ocio");--(IGUAL($E$2:$E$64980;"MUJER")))

El resultado es 1 en los dos casos.

USO COMBINADO DE LAS FUNCIONES SUMAPRODUCTO E IGUAL1

Os dejo el ejercicio con las fórmulas utilizadas. Por cierto, para mostrarlas, he utilizado la función =formulatexto() que sirve para mostrar las fórmulas que contiene una celda.

Descarga el archivo de ejemplo pulsando en: USO COMBINADO DE LAS FUNCIONES SUMAPRODUCTO E IGUAL

¿Te ha resultado de interés?, puedes apoyar a Excel Signum con una pequeña donación.

Donate Button with Credit Cards

¡¡Muchas gracias!!

Mediante la suscripción al blog, la realización comentarios o el uso del formulario de contacto estás dando tu consentimiento expreso al tratamiento de los datos personales proporcionados según lo dispuesto en la ley vigente (LOPD). Tienes más información al respecto en esta página del blog: Política de Privacidad y Cookies

Anuncios

ALGUNAS FÓRMULAS PARA CONFECCIONAR NUESTROS INFORMES EN EXCEL

Hola a todos:

En muchas de las consultas que recibo, un tema recurrente es el de la confección de informes. Normalmente siempre preguntas y referencias a las tablas dinámicas (campos calculados, orden de etiquetas, etc…).

Y es que realmente la función de las tablas dinámicas es esa: mostrar información dinámica en la confección informes.

Sin embargo, una buen alternativa a las tablas dinámicas es hacer nuestro informe utilizando fórmulas y siempre con la ventaja de que no vamos a depender de las limitaciones típicas de las tablas dinámicas (colocación de información, límites, etc).

Por ello, en el post de hoy me gustaría trabajar con algunas funciones que nos van a permitir realizar interesantes informes y sin necesidad de usar tablas dinámicas.

Utilizaremos una de las bases de datos que uso habitualmente como ejemplo, una plantilla ficticia de unos grandes almacenes (si quereis saber cómo he generado los nombres, podeís visitar este post: COMBINAR LA FUNCIÓN HALLAR Y LA FUNCIÓN LARGO)

Imaginad que tenemos esta base de datos:

ALGUNAS FORMULAS PARA CONFECCIONAR NUESTROS INFORMES EN EXCEL

Y necesitamos utilizar las fórmulas adecuadas para completar los datos de este informe (que ahora está vacío):

ALGUNAS FORMULAS PARA CONFECCIONAR NUESTROS INFORMES EN EXCEL_1

Para los campos de Sexo, Idioma y Estudios necesitamos funciones que cuenten y a su vez que admitan varios criterios de condición.

Para el campo de la edad necesitamos funciones que puedan obtener promedios, máximos y mínimos.

He creado cuatro hojas con el mismo informe, en cada una trabajaremos una fórmula distinta para contar.

En la hoja INFORME_SUMAPRODUCTO utilizaremos la función SUMAPRODUCTO, la cual vamos a modificar para que cuente los datos que necesitamos. Por ejemplo el número de Hombres en la sección de Deportes:

Solo tenemos que seleccionar un rango de la columna “C” (SECCION) de la Hoja BBDD y que sea igual a la celda A3 de nuestro informe (Deportes) e introducimos un segundo criterio, seleccionando la columna E de la hoja BBDD (SEXO) y la celda B2 de nuestro informe (Hombre).

=SUMAPRODUCTO((BBDD!$C$2:$C$65000=A3)*1;(BBDD!$E$2:$E$65000=$B$2)*1)

Para el resto de campos va a ser igual, excepto en IDIOMA (OTROS), donde debemos especificar que el idioma debe ser diferente de INGLES, FRANCES Y ALEMAN:

=SUMAPRODUCTO((BBDD!$C$2:$C$65000=A3)*1;(BBDD!$F$2:$F$65000$E$2)*1;(BBDD!$F$2:$F$65000$F$2)*1;(BBDD!$F$2:$F$65000$D$2)*1)

Como podéis observar, vamos introduciendo las condiciones de forma anidada y vinculando con el idioma que queremos excluir del proceso de contar empleados.

En la hoja INFORME_CONTAR.SI.CONJUNTO utilizaremos la función CONTAR.SI.CONJUNTO, presente desde Excel 2007 y es una buena opción para contar los elementos de nuestro informe. Siguiendo el ejemplo anterior (número de Hombres en la sección de Deportes) sería así:

=CONTAR.SI.CONJUNTO(BBDD!$C$2:$C$65000;A3;BBDD!$E$2:$E$65000;$B$2)

En la sintaxis seleccionamos rango de la columna SECCIÓN de la hoja BBDD y que sea igual a A3 y también seleccionamos la columna SEXO y que sea igual a B2 (Hombre).

Para el resto de campos va a ser igual, excepto en el IDIOMA (OTROS) donde usaremos la misma fórmula pero indicando los idiomas que no queremos que se tengan en cuenta:

=CONTAR.SI.CONJUNTO(BBDD!$C$2:$C$65000;A3;BBDD!$F$2:$F$65000;”” & $E$2;BBDD!$F$2:$F$65000;”” & $F$2;BBDD!$F$2:$F$65000;”” & $D$2)

Efectivamente usamos las clausulas para indicar que cuente aquellos que sea distintos de INGLES, FRANCES Y ALEMAN.

Pues bien, con cualquiera de estas fórmulas podríais realizar el informe perfectamente. Pero me gustaría dejaros otras dos fórmulas (matriciales) para realizar el mismo proceso:

En la hoja INFORME_MATRICIAL utilizaremos una matricial muy sencilla que realiza prácticamente el mismo trabajo que SUMAPRODUCTO (pero en matricial).

Usamos el mismo ejemplo que el de las fórmulas anteriores: Número de hombres en la sección “Deportes”:

{=SUMA((BBDD!$C$2:$C$65000=A3)*(BBDD!$E$2:$E$65000=$B$2))}

Y el resultado será el mismo que en las fórmulas anteriores, es decir 7.

El resto de campos será igual pero cambiando los parámetros, excepto en IDIOMA (OTROS), aquí tendremos que ampliar la fórmulas con más criterios:

{=SUMA((BBDD!$C$2:$C$65000=A3)*(BBDD!$F$2:$F$65000$E$2)*(BBDD!$F$2:$F$65000$F$2)*(BBDD!$F$2:$F$65000$D$2))}

Indicando qué idioma no queremos contar. Esta matricial, me parece muy sencilla y a la vez efectiva, es una de mis favoritas 🙂

En la hoja INFORME_MATRICIAL_2 utilizaremos otra matricial pero en la que usaremos la función CONTAR.

Para el cálculo del número de hombres en la sección “Deportes”, sería así:

{=CONTAR(SI((BBDD!$C$2:$C$65000=A3);SI(BBDD!$E$2:$E$65000=$B$2;BBDD!$A$2:$A$65000)))}

Sin embargo, esta fórmula tiene una peculiaridad, solo va a contar si el rango sobre el que se cuenta es numérico, en nuestro ejemplo podríamos hacer referencia a la columna A o a la D, en nuestro caso, he marcado la A en rojo en la fórmula. Por ello no la podréis usar si vuestra base de datos no tiene una columna con datos numéricos, tipo edad, ID, etc.

Para el contar las celdas de IDIOMA (OTROS), tendremos que incluir los criterios en la función, así:

{=CONTAR(SI((BBDD!$C$2:$C$65000=A3);SI(BBDD!$F$2:$F$65000$E$2;SI(BBDD!$F$2:$F$65000$F$2;SI(BBDD!$F$2:$F$65000$D$2;BBDD!$A$2:$A$65000)))))}

Y el resultado es el mismo para todos los casos:

ALGUNAS FORMULAS PARA CONFECCIONAR NUESTROS INFORMES EN EXCEL_2

Aunque no era el objeto de este post, os he incluido tres fórmulas más (matriciales) para calcular el promedio, el máximo y el mínimo de la edad por cada sección.

Para calcular el Promedio:

{=REDONDEAR(PROMEDIO(SI(BBDD!$C$2:$C$65000=A3;BBDD!$D$2:$D$65000));0)}

y usamos la función redondear para eliminar todos los decimales (podríamos usar entero).

Para el cálculo de Max:

{=REDONDEAR(MAX(SI(BBDD!$C$2:$C$65000=A3;BBDD!$D$2:$D$65000));0)}

Para el cálculo de Min:

{=REDONDEAR(MIN(SI(BBDD!$C$2:$C$65000=A3;BBDD!$D$2:$D$65000));0)}

El resultado es este (el mismo para las cuatro pestañas):

ALGUNAS FORMULAS PARA CONFECCIONAR NUESTROS INFORMES EN EXCEL_3

Y las cuatro pestañas tienen que mostrar la misma información.

ALGUNAS FORMULAS PARA CONFECCIONAR NUESTROS INFORMES EN EXCEL_4

Hemos utilizado fórmulas distintas para contar numero de empleados por sección o departamento, según sexo, idioma o estudios. Y también hemos calculado algunos estadísticos para enriquecer la información.

Os recuerdo que las matrices se introducen: seleccionando la celda que contiene la fórmula, pulsando en F2 , seleccionamos la fórmula y luego presionamos CTRL + MAYUS + ENTRAR

Descarga el archivo de ejemplo pulsando enALGUNAS FÓRMULAS PARA CONFECCIONAR NUESTROS INFORMES EN EXCEL

 
¿Te ha resultado de interés?, puedes apoyar a Excel Signum con una pequeña donación.

Donate Button with Credit Cards

¡¡Muchas gracias!!