Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

martes, 18 de diciembre de 2018

Alternativas a BuscarV para múltiples coincidencias en Excel - 3a parte

Hola. Pues la 3a parte ya está aquí.

Atrás vimos:




Hoy vamos a ver:



BuscarV múltiples coincidencias basadas en múltiples condiciones








Bueno, ya hemos visto cómo realizar BUSCARV para que devuelva varios valores en Excel basándose en una condición. Pero, ¿qué sucede si se necesita devolver varias coincidencias en función de dos o más criterios? Si seguimos con los ejemplos anteriores (vistos en la 1a y 2a parte, enlaces arriba) , ¿qué sucede si se tiene una columna adicional con Mes y se desea obtener una lista de todos los productos vendidos en una región determinada en un mes específico?



A. En Columnas


Si ya se está familiarizado con las fórmulas de matrices, es bueno recordar que permiten el uso de un asterisco (*) como operador Y. Por lo tanto, se pueden tomar las fórmulas analizadas en los dos ejemplos anteriores y hacer que se verifiquen varias condiciones como se muestra a continuación.


=SI.ERROR(INDICE(rango_a_devolver, K.ESIMO.MENOR(SI(1=((--(Valor_busqueda1 = rango_a_buscar1))*(--(Valor_busqueda2 = rango_a_buscar2))), FILA(rango_a_devolver) - m, ""), FILA() - n)), "")

Dónde:


  • m es el número de fila de la primera celda en el rango de retorno menos 1.
  • n es el número de fila de la primera celda de fórmula menos 1.



Suponiendo que la lista de regiones (rango_a_buscar1) está en A3: A15, la lista de meses (rango_a_buscar2) está en B3: B15, la región de interés (Valor_busqueda1) está en la celda E3, y el mes de interés (Valor_busqueda2) está en la celda F3, La fórmula toma la siguiente forma:


{=SI.ERROR(INDICE($C$3:$C$15, K.ESIMO.MENOR(SI(1=((--($E$3=$A$3:$A$15)) * (--($F$3=$B$3:$B$15))), FILA($C$3:$C$15)-2,""), FILA()-2)),"")}

Este diseño puede ser útil para crear un dashboard, por ejemplo. nuestros usuarios pueden ingresar una región en E3, mes en F3 y obtener una lista de productos en la columna G:








B. En Filas


Si se desea extraer varios valores en función de varios conjuntos de criterios, es posible preferir el diseño horizontal donde los resultados se devuelven en filas. En este caso, utilice esta siguiente fórmula genérica:



SI.ERROR(INDICE(rango_a_devolver, K.ESIMO.MENOR(SI(1=((--(Valor_busqueda1 = rango_a_buscar1))*(--(Valor_busqueda2 = rango_a_buscar2))), FILA(rango_a_devolver) - m, ""), COLUMNA() - n)), "")



Dónde:



  • m es el número de fila de la primera celda en el rango de retorno menos 1.
  • n es el número de fila de la primera celda de fórmula menos 1.

Para nuestro ejemplo, la fórmula sería la siguiente:

{=SI.ERROR(INDICE($C$3:$C$15, K.ESIMO.MENOR(SI(1=((--($F3=$A$3:$A$15)) * (--($G3=$B$3:$B$15))), FILA($C$3:$C$15)-2,""), COLUMNA()-7)),"")}

Y el resultado puede parecerse a esto:





De manera similar, puedes hacer múltiples BUSCARV con tres, cuatro o más condiciones.





Cómo funcionan estas fórmulas



Básicamente, las fórmulas para los valores múltiples de BUSCARV con múltiples condiciones funcionan con la lógica ya familiar, explicada en el primer post (Buscar coincidencias para devolver múltiples valores en columnas). 

La única diferencia es que la función SI ahora prueba múltiples condiciones:

1=((--(Valor_busqueda1 = rango_a_buscar1))*(--(Valor_busqueda2 = rango_a_buscar2))*....)



El resultado de cada comparación Valor_busqueda1 = rango_a_buscar1 es una matriz de valores lógicos VERDADEROS (se cumple la condición) y FALSO (no se cumple la condición). El operador doble (--) obliga que los valores lógicos sean 1 (verdadero) y 0 (falso). Y como la multiplicación por cero siempre da cero, en la matriz resultante, se tiene 1 solo para aquellos elementos que cumplen con todas las condiciones especificadas. 

Ahora, simplemente compare la matriz final con el número 1 para que la función FILA devuelva el número de filas que cumplan todas las condiciones, de lo contrario, una cadena vacía.


Una palabra de precaución.

Todas las fórmulas múltiples de BUSCARV discutidas en este tutorial son fórmulas de matriz. Como tal, cada fórmula se repite en todos los elementos de las matrices cada vez que se cambian los datos de origen o se recalcula la hoja de trabajo. En hojas de cálculo grandes que contienen cientos o miles de filas, esto puede ralentizar significativamente Excel.

Así es como puedes ver varias coincidencias en Excel usando fórmulas.





Para ver más de cerca los ejemplos y probablemente aplicar ingeniería inversa a las fórmulas para una mejor comprensión, se puede descargar el archivo Excel a continuación.









Entradas relacionadas
















Te ha gustado el artículo?





No te olvides de mostrar tu gratitud hacia el autor (yo) mediante una de las 2 siguientes acciones:




1. Puedes dejar una donación pinchando en la siguiente imagen.

PayPal. La forma rápida y segura de pagar en Internet


2. 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.



El Sabio de Excel busca colaborades del blog

Si te interesa compartir tu conocimiento sobre Excel de tal manera que puedas ayudar a otras personas, por favor mándame un email a elsabiodeexcel@gmail.com


Subscríbete y recibe todos las entradas por email


Para ello regístrate suministrando tu email en el sitio "Recibe los trucos en tu email" del menú de la derecha.

O sígueme por las redes sociales

2 comentarios:

  1. Están muy buenos los trucos que se mencionan, quizá para hacerlo un poco más metódico a mi me gusto http://bit.ly/2PxvLQc . Mucha suerte!!!

    ResponderEliminar
  2. Genial, mil gracias, sorprendido me encanto la combinación de formulas, gracias

    ResponderEliminar