Imaginemos que tuviesemos una tabla algo que así:
Una tabla normal, donde hay una columna de cantidades (columna B) y 2 columnas de clasificación (A y C). También tenemos una columna de Notas, o texto.
Ahora imaginemos que queremos sumar las cantidades de una región. Eso lo podemos hacer fácilmente con la función SUMAR.SI. Y si quisiemos sumas por 2 criterios o más, por ejemplo una región y un tipo, para ello usaríamos SUMAR.SI.CONJUNTO.
Hasta aquí todo bien, no?
Y si lo que necesitasemos sumar fueran las cantidades si los criterios fuesen algo así como que las notas contengan la palabra "Verano" y "Festivo".
Ahí ya todo cambiaría. Ya no podemos utilizar ninguno de los 2 SUMAR.SI a menos que cambiasemos los datos.
Y entonces cómo lo haríamos? Sigue leyendo.
Habría que utilizar funciones de matriz.
Te recomiendo ver el enlace anterior si las funciones matriciales no son tu fuerte,
Bueno, pues ahora sabiendo el alcance de nuestro problema, veamos cómo lo solucionamos.
1) Para ello vamos a utilizar la función HALLAR.
La función HALLAR devuelve la posición inicial de una cadena de texto dentro de otra. A diferencia de ENCONTRAR(), HALLAR() no hace distinción entre mayúsculas y minúsculas. Su sintaxis es HALLAR(texto_buscado, dentro_del_texto, [núm_inicial])
donde:
- texto_buscado (obligatorio): El texto que se quiere encontrar.
- dentro_del_texto (obligatorio): El texto que a su vez contiene el texto que se desea encontrar.
- núm_inicial (opcional): Especifica el carácter donde se iniciará la búsqueda. Si se omite entonces la búsqueda iniciará desde el primer caracter.
Así que si tenemos que el rango a buscar de mi tabla anterior es D2:D10.
Pues entonces para saber si la palabra "Verano" existe en las celdas D2:D10, haríammos lo siguiente:
{=HALLAR("Verano",D2:D10)} ({} representa funciones matriciales, CTRL + SHIFT +ENTER)
Esto daría como resultado una matriz como la siguiente:
={9;12;9;12;9;12;#¡VALOR!;1;#¡VALOR!}
que implica que Verano aparece en la posición 9 en la celda D2, en la 12 en D3, ...., y no aparece en D8 ni en D10.
2) Si a la fórmula anterior le ponemos un ESNUMERO() antes tendríamos lo siguiente.
{=ESNUMERO(HALLAR("Verano",D2:D10))}={VERDADERO;VERDADERO;VERDADERO;VERDADERO;VERDADERO;VERDADERO;FALSO;VERDADERO;FALSO}
lo cual a convertidos los números anteriores a VERDADERO/FALSO.
Y si ponemos ahora dos signos negativos (--) delante de ESNUMERO, convertiremos los VERDADERO/FALSO en 1 y 0.
Veamoslo:
{=--ESNUMERO(HALLAR("Verano",D2:D10))}={1;1;1;1;1;1;0;1;0}
con el 1 indicando que la celda contiene la palabra buscada, en mi caso verano.
O sea que tenemos una matriz de 9 filas por 1 columna.
3) Si ahora multiplicasemos esa matriz por la matriz de las cantidades (B2:B10) tendríamos los valores sólo cuando encuentra la palabra Verano.
{=--ESNUMERO(HALLAR("Verano",D2:D10))*(B2:B10)}={6562;8502;3673;8420;5975;3457;0;7258;0}
4) Y si ahora sumamos los componentes de esa matriz, tenemos lo deseado!
{=SUMA(--ESNUMERO(HALLAR("Verano",D2:D10))*(B2:B10)})=43847
Y si fuera que contuviese 2 palabras?
Pues se podría hacer de la misma manera, pero añadiendo una matriz más.
Por ejemplo, queremos sumar las que contengan las palabras "verano" y "festivo". Viendo nuestra pequeña tabla, vemos que eso pasa en D2,D4,D6 y D9, y la suma de las cantidades es 23468.
Pues para hacerlo habría que añadir la siguiente matriz
{=ESNUMERO(HALLAR("festivo",D2:D10))}
de tal modo que quedaría así:
{=SUMA(--ESNUMERO(HALLAR("Verano",D2:D10))*ESNUMERO(HALLAR("festivo",D2:D10))}*(B2:B10)})=23468
Y ya está!!! Espero que haya gustado este truco y que os ayude a entender esa bestia llamada funciones matriciales
*********************************************************************************************
Por cierto si necesitas cursos personalizados de Excel via Skype mándame un email a
elsabiodeexcel@gmail.com.
Nuevos cursos recientemente creados:
1. Tablas dinámicas - 2-3 horas por skype €45
2. Iniciación a las macros - aprende a tu propio ritmo €50
*********************************************************************************************
El Sabio de Excel les quiere recomendar un nuevo ebook que les explicará todo lo que necesitan saber sobre Power Pivots.
EL ADN DE POWER PIVOT
Guía paso a paso sobre Power Pivot, construcción de modelo de datos y el lenguaje DAX, con orientación a inteligencia de negocios.
Formato: PDF Libre de DRM, Descarga INMEDIATA.
Datos Técnicos: 476 Páginas + Compendio de Archivos
Precio: $ 32 95 USD (Dólares Americanos)
****************************************************************************
Te ha gustado el artículo?
No te olvides de mostrar tu gratitud hacia el autor (yo) mediante una de las 3 siguientes acciones:
1. Puedes invitarme a un café pinchando en la siguiente imagen.
2. Puedes hacer clic en los anuncios mostrados en la página
3. Puedes recomendar el artículo en Google haciendo clic en g+1 (justo después del artículo), también puedes compartirlo en Facebook, y/o dejar comentarios.
No te olvides de mostrar tu gratitud hacia el autor (yo) mediante una de las 3 siguientes acciones:
1. Puedes invitarme a un café pinchando en la siguiente imagen.
2. Puedes hacer clic en los anuncios mostrados en la página
3. Puedes recomendar el artículo en Google haciendo clic en g+1 (justo después del artículo), también puedes compartirlo en Facebook, y/o dejar comentarios.
Quieres aprender más en Excel o tienes algún problema que necesita solución?
Puedo ofrecer servicios de consultoría así como cursos personalizados online. Mírate el siguiente enlace si estás interesado/a.
No hay comentarios:
Publicar un comentario