Realizar una búsqueda introduciendo los primeros caracteres
Realizar una búsqueda introduciendo los primeros caracteres.
Este ejemplo, va a consistir en realizar una búsqueda dentro de una base de datos, introduciendo solo los primeros caracteres, y, deberán de aparecer todos los registros que coincidan con los caracteres puestos.
Tenemos los siguientes datos.
Voy a realizar una búsqueda de todas las películas que empiezan por T.
Voy a destinar una celda a introducir el o los datos a buscar.
Voy a colocar la letra Te, que sera a que vamos a buscar.
Empezamos nuestro ejemplo.
Lo primero que tengo que saber es la cantidad de caracteres que buscamos, para ello, usaremos la función LARGO, que nos devuelve la cantidad de caracteres de una cadena.
Lo pondremos de la siguiente manera:
Nos dará como resultado 2.
Ahora, tengo que comparar cada celda con el dato que nosotros buscamos, pero solo los caracteres tecleados.
Hay una función en excel que nos permite extraer un numero determinado de caracteres empezando por la izquierda, esa función se llama IZQUIERDA.
El argumento de la función IZQUIERDA es la siguiente:
Donde Texto, es el texto de donde vamos a extraer los caracteres y Num_de_caracteres, son los caracteres que queremos extraer.
Pondremos lo siguiente:
Ya tenemos el dato a buscar, ahora hay que comparar dicho valor con los datos, para ello, pondremos lo siguiente:
El significado de esta función es el siguiente, preguntamos, si empezando por la izquierda de A1, y, tomando 2 caracteres es igual al valor de la celda D1, dame su posición (FILA), en caso, contario, poner un texto en blanco.
Los dos primeros caracteres de la celda A1 coincide, por lo tanto, me da su posición.
Copiamos hacia abajo, dejando como referencia absoluta D1, porque ese dato cuando copiemos no debe de cambiar, en este caso, solo va a coincidir el primer valor, es decir, Terminator, pero vamos a cambiar el dato a buscar y vamos a poner solo T y copiamos.
Vemos que hay 3 coincidencias, pero yo quiero ver los resultados ordenados de menor a mayor.
Vamos a usar la función K.ESIMO.MENOR, para ir extrayendo los valores desde el menor al mayor, pondremos lo siguiente:
Copiamos hacia abajo, poniendo como absoluto el rango de búsqueda, el resultado sera el siguiente:
Ya tenemos las posiciones una detrás de otra, si se dan cuenta cuando acaban los números, pone #!NUM!, eso es debido a que como ya no hay mas números, la función devuelve un error, la verdad, es que se ve un poco feo, lo suyo seria que en caso de que no haya mas numeros, ponga un texto en blanco.
Hay una función que se llama SI.ERROR, que comprueba un argumento y si devuelve un error, hará lo que le digamos, pondremos lo siguiente:
Se traduciría de la siguiente forma, si la expresión K.ESIMO.MENOR, devuelve un error, poner un texto en blanco.
Copiamos hacia abajo.
Ya no aparecen los errores, y, la visión es mejor, ahora tenemos que los datos de esos registros, para ello usaremos la función INDICE, que hace exactamente lo que queremos.
La función INDICE, nos ayuda a encontrar un valor dentro de un rango especificando el numero de fila y columna.
Pondremos lo siguiente:
Ya tenemos los datos que buscamos, pero tenemos el mismo problema que antes, que cuando no hay valores, nos aparece un error, pero ya sabemos como quitarlo, entonces, ponemos lo siguiente:
Copiamos hacia abajo.
Volvemos a tener los resultados, pero ya no aparece el error.
Ahora, voy a poner la letra B.
Nos aparecen todos los nombres que comienzan por la letra B.
Con esto damos por finalizado este ejemplo, espero que le haya podido servir de ayuda.
Publicado por Miguel Ángel Franco García