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.
![132 132](/uploads/cursos/6673/27050_132.jpg)
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.
![133 133](/uploads/cursos/6673/27051_133.es.jpg)
Voy a colocar la letra Te, que sera a que vamos a buscar.
![134 134](/uploads/cursos/6673/27052_134.es.jpg)
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:
![136 136](/uploads/cursos/6673/27053_136.jpg)
Nos dará como resultado 2.
![135 135](/uploads/cursos/6673/27054_135.jpg)
Ahora, tengo que comparar cada celda con el dato que nosotros buscamos, pero solo los caracteres tecleados.
![137 137](/uploads/cursos/6673/27064_137.es.jpg)
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:
![138 138](/uploads/cursos/6673/27066_138.es.jpg)
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:
![140 140](/uploads/cursos/6673/27067_140.es.jpg)
![141 141](/uploads/cursos/6673/27068_141.es.jpg)
Ya tenemos el dato a buscar, ahora hay que comparar dicho valor con los datos, para ello, pondremos lo siguiente:
![142 142](/uploads/cursos/6673/27069_142.jpg)
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.
![143 143](/uploads/cursos/6673/27070_143.jpg)
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.
![144 144](/uploads/cursos/6673/27071_144.jpg)
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:
![145 145](/uploads/cursos/6673/27072_145.jpg)
Copiamos hacia abajo, poniendo como absoluto el rango de búsqueda, el resultado sera el siguiente:
![146 146](/uploads/cursos/6673/27073_146.jpg)
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:
![147 147](/uploads/cursos/6673/27074_147.jpg)
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.
![148 148](/uploads/cursos/6673/27075_148.es.jpg)
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:
![149 149](/uploads/cursos/6673/27076_149.jpg)
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:
![150 150](/uploads/cursos/6673/27077_150.jpg)
Copiamos hacia abajo.
![152 152](/uploads/cursos/6673/27078_152.es.jpg)
Volvemos a tener los resultados, pero ya no aparece el error.
Ahora, voy a poner la letra B.
![154 154](/uploads/cursos/6673/27079_154.jpg)
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