Un lector me dice que trabaja con la función BUSCARV() haciendo referencia a hojas que se encuentran en otro libro. Si mas o menos han realizado este tipo de labores, sabrán que es totalmente factible referenciar (dentro de una función) hojas y rangos que se encuentren en otros libros. Pero esa no es la cuestión principal en todo esto.
Por lo que entendí, el quiere que al cambiar la tabla de lugar, llevandola a otra hoja, la función se actualice y automáticamente busque los datos en la nueva hoja. Estimo que esto se resuelve de forma sencilla mediante el uso de la función INDIRECTO(), sobre la cual encontrarán información dentro de este blog.
Intentemos arreglar el problema planteado.
esta tabla se encuentra en el libro2, hoja1
esta tabla se encuentra en el libro2, hoja2
[+/-] Ver el resto / Ocultar
Analizadas un poco las imágenes, vemos que en el libro2 existen dos tablas, en hojas separadas. Volvamos a nuestro libro1. Allí realizaremos una función que nos busque en la tabla de la hoja1 del libro2, la cual no presenta mayores misterios:
en B2 coloco el nombre del vendedor del cual deseo obtener los datos.
La función es sencilla:
=BUSCARV(A1;[libro2.xlsx]Hoja1!$A$2:$B$10;2;FALSO)
Primer argumento: el valor buscado
Segundo: el lugar en donde buscará la función (noten la sintaxis para buscan en otro libro: ruta / hoja / rango)
Tercero: el número de columna en donde se encuentra el valor que buscamos
Cuarto: lo dejamos en FALSO (ó cero), ya que los datos no están ordenados
Resalté (dentro de la función) el nombre de la hoja, ya que este es nuestro problema: ¿que pasa si a esa tabla la movemos, por ejemplo, a la hoja3? O podría ser que cambiemos, por error o necesidad, el nombre de la hoja. Entonces, ese Hoja1 no serviría mas y la función nos devolvería error, ya que la Hoja1 no existe mas.
Yo propongo la siguiente función:
=BUSCARV(A1;INDIRECTO($D$1);2;FALSO)
en donde el segundo argumento es otra función, en este caso INDIRECTO(), y hace referencia al valor que tengo en la celda D1.
en D1 concateno la ruta con el nombre de la hoja, la cual está referenciada en E1
¿Se comprende claramente? Vean bien la barra de fórmulas y observarán como "armo" la ruta de acceso al libro2, Rango A2:B10, dejando en "blanco" el nombre de la hoja, el cual es tomado desde E1.... parece un poco rebuscado, pero no lo es.
Si ahora me voy a E1 y cambio el nombre de la hoja:
exacto. me devuelve un error, ya que "walter" no está en la hoja2 del libro2
Ahora pruebo en B1 con un dato válido:
bien, de primera.
En E1 le indico a Excel dentro de que hoja quiero buscar, D1 se encarga de concatenar el nombre de esa hoja y en B1 utilizo INDIRECTO()
Puede resultar un tanto laborioso armar el trabajo, pero vale la pena, ya que nos olvidaremos de tener que ingresar dentro de la función y cambiar manualmente el nombre de la hoja.
Ideas:
1) Aplicamos la Validación de Datos en E1, para que me permita seleccionar de una lista solo nombres de hojas válidos, y así evitar errores.
2) Podemos aprovechar otras funciones, por ejemplo:
=SUMA(INDIRECTO(D1)) y así obtener totales:
Espero que sea de utilidad el ejemplo y puedan aplicarlo a sus proyectos.
Comentarios
Publicar un comentario