top of page
Foto del escritorJaime Franco Jimenez

Ejemplo de la función BUSCARV e INDIRECTO

Vamos a ver un ejemplo con la función BUSCARV, trabajamos con el modelo que suelo hacer habitualmente, pero en este caso, en vez de provincia, tengo una columna llamada IDprovincia, y, los IDprovincias, y, provincias los tengo en otro libro.


El libro de trabajo llamado datos, es donde están las ventas.









Y, el libro de trabajo llamado provincias, es donde se encuentran las provincias con su ID.














Entonces, tenemos que buscar el IDprovincia del libro datos, buscarlo en el libro provincias, y, que nos devuelva la provincia.


Voy a insertar una nueva columna después de la columna IDprovincia, la llamare Provincia.










En la celda C2, escribo el signo igual seguido de la función BUSCARV, y, abro un paréntesis.


=BUSCARV(


Como argumento valor buscado, señalo la celda B2.


=BUSCARV(B2


Como argumento matriz, escribo el nombre del libro seguido de la extensión, agrego el signo de exclamación, y, pongo A:B, para que seleccione ambas columnas completas.


=BUSCARV(B2;provincias.xlsx!A:B


Como indicador de columna, pongo 2, para que me devuelva la columna 2, que es donde se encuentran los nombres de provincias.


=BUSCARV(B2;provincias.xlsx!A:B;2


Y, en tipo de coincidencia, ponemos exacta.


Cerramos paréntesis, y, aceptamos.


=BUSCARV(B2;provincias.xlsx!A:B;2;FALSO)


Como esta en formato de tabla, se ha copiado de forma automática a todas las celdas, donde podemos ver la provincia que corresponde a cada ID.












Si nos fijamos en la expresión, en el argumento array, vemos el nombre del libro junto con su extensión, y, las columnas con las que trabajar.


=BUSCARV(B2;provincias.xlsx!A:B;2;FALSO)


Ahora, voy a cerrar el libro, a ver qué ocurre.


Este archivo ha sido guardado en mi OneDrive de empresa, vemos que ha cambiado la ruta, por la ruta donde tengo guardado el archivo.


=BUSCARV(B2;'https://francog-my.sharepoint.com/personal/miguelangel_francog_onmicrosoft_com/Documents/MIGUEL/DIRECTORIOS/CURSOS/EXCEL BASICO HASTA AVANZADO/EXCEL INTERMEDIO/Temario intermedio/nuevo_temario_2/6. BUSQUEDA Y REFERENCIA/1.1. buscar ID en otro libro_BUSCARV/[provincias.xlsx]Provincias'!A:B;2;FALSO)


Esto quiere decir, que podemos tener cerrado el libro, que seguirá funcionando.


Si vuelvo a abrir el libro de provincias, volverá a aparecer la ruta original.


=BUSCARV(B2;provincias.xlsx!A:B;2;FALSO)


Si nos fijamos en la expresión, estamos tomando la columna A, y, B de la hoja provincias completa, esto puede ralentizar operaciones, por lo que quiero que tome hasta la última fila ocupada.


=BUSCARV(B2;provincias.xlsx!A:B;2;FALSO)


Voy a hacerlo en una celda aparte, y, después la añadimos a la función BUSCARV.


Tengo que contar las celdas alfanuméricas de la columna A del libro provincias, por lo que voy a usar la función CONTARA, y, el argumento será la columna A del libro provincias.


=CONTARA(provincias.xlsx!A:A)


Me devuelve 21, es decir, en la columna A del libro provincias, tenemos 21 filas ocupadas.


Esto quiere decir, que he de buscar desde A1 hasta B21 del libro provincias, por lo que voy a concatenar A1:B, entre comillas dobles, con la función CONTARA.


="a1:b"&CONTARA(provincias.xlsx!A:A)


Obtengo dicha referencia, pero vemos que se alinea a la izquierda, quiere decir que esta en formato de texto, de momento, no puedo usarla.




Para poder usarla, he de usar la función INDIRECTO, que convertirá el valor de dicha celda en una referencia real.


=INDIRECTO("a1:b"&CONTARA(provincias.xlsx!A:A))


Vemos que tenemos las columnas IDprovincia, y, provincia del libro provincias.









Pues, voy a sustituir de la expresión BUSCARV, el argumento array, por la función INDIRECTO.


=BUSCARV(B2;INDIRECTO("provincias.xlsx!a1:b"& CONTARA(provincias.xlsx!A:A));2;FALSO)


Tenemos el mismo resultado, pero siempre buscara hasta la última fila ocupada.



16 visualizaciones0 comentarios

Entradas Recientes

Ver todo

Comments


bottom of page