1

Cómo crear una lista con todos los resultados de una búsqueda

Hace unos días publiqué un artículo en el que te enseñaba a crear búsquedas que devolvían varios resultados. La verdad es que la explicación que doy en dicho artículo es complicada para usuarios con poca experiencia en fórmulas matriciales.

Le pedí ayuda a mi compañero del foro Gerson Pineda para hallar una forma de hacer más fácil y comprensible esta fórmula… y no solo lo ha conseguido sino que ¡me ha dado dos formas diferentes de hacerlo! Me alegró la tarde de ayer…

Cómo crear una lista con los todos los resultados de una búsqueda con INDICE

  1. En primer lugar, la función FILA se utiliza para comparar la matriz donde se encuentran las marcas con el criterio elegido. A continuación se divide entre todas las filas para obtener las filas que coinciden:

FILA($B$2:$B$68)-1/($A$2:$A$68=D$2)

{#¡DIV/0!;2;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;7;8;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;22;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;28;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;56;#¡DIV/0!;#¡DIV/0!;59;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!;#¡DIV/0!}

La matriz resultante se utilizará como argumento en el siguiente punto.

  1. La función AGREGAR se utiliza para obtener el número de fila más pequeño del rango. Los dos primeros argumentos indican el tipo de función empleada (15 para K.ESIMO.MENOR Y 6 para indicar que queremos omitir los errores.

El siguiente argumento correspondería a la matriz del punto anterior. Como le he dicho a la función que deseo omitir los errores, el valor más pequeño corresponde al 2.

Como K.ESIMO. MENOR acepta matrices como argumento, se hace obligatorio introducir el siguiente argumento, que corresponde a la posición ocupada por el enésimo valor más pequeño. En este caso se halla con la función FILAS (observa las referencias mixtas).

  1. INDICE devuelve el valor que se encuentra en la posición indicada por el resultado de la función AGREGAR, que es el número de fila que ocupa la coincidencia.
  2. La parte más exterior de la fórmula se utiliza para comprobar si existe un resultado a devolver.

Cómo crear la misma lista con BUSCARV

Esta fórmula es similar a la anterior. En vez de hacer la búsqueda con INDICE, se utiliza BUSCARV, utilizando como tabla de búsqueda la función ELEGIR, con la que es posible crear una matriz de datos (en este caso de n-filas y 2 columnas) para hallar el número de fila en la que se encuentra cada valor.

=SI(FILAS($A$1:$A1)>CONTAR.SI($A$3:$A$68;D$2);””;BUSCARV(AGREGAR(15;6;FILA($A$2:$A$68)-1/($A$2:$A$68=D$2);FILAS($A$1:$A1));ELEGIR({1\2};INDICE(FILA($A$2:$A$68)-1;);$B$2:$B$68);2;0))

Resumen

Aquí tienes otras dos fórmulas que son capaces de devolver varios resultados en diferentes celdas.

Directamente en Excel no es posible devolver varios resultados en una misma celda aunque existen complementos como Ablebits que ya lo incorporan entre sus funciones.

¿Te han servido las fórmulas? ¿Qué tipo de datos buscarías?

Busquedas
Título: Busquedas (339 clics)
Tamaño: 21 KB

¡Compartir es vivir!
Sergio
 

La destreza y el perfeccionismo quizá sean las dos virtudes que me permiten ayudar a mis clientes a facilitar las tareas administrativas de sus negocios.

Haz clic aquí para dejar un comentario 1 comentarios
Jack - 11/02/2019

En el archivo Busquedas.xlsx en la primera hoja (Método 1) me pudieras explicar como funciona la expresión FILA($B$3:$B$68)-MIN(FILA($A$3:$A$68))+1

Responder

Escribe una respuesta:

Powered by WishList Member - Membership Software