Estoy construyendo un libro de trabajo (hoja de cálculo) que tiene hojas de trabajo etiquetadas por mes; por ejemplo, "12 de enero", "12 de diciembre", etc. Necesito BUSCARV para poder cambiar su apariencia según el nombre de cualquier hoja de trabajo sin tener que cambiar la fórmula cada vez. Encontré esta respuesta y funciona muy bien para las BUSCARV que están en diferentes libros que también tengo, pero no puedo hacer que funcione en el mismo libro.
=VLOOKUP(A1, INDIRECT(CONCATENATE("'[Datafile.xlsx]",B1,"'!$A1:F500")), 3, False)
Respuesta1
En primer lugar,
CONCATENATE(
cosa 1,
cosa 2,
cosa 3)
se puede abreviar
cosa 1
&
cosa 2&
cosa 3
Significan lo mismo, pero la segunda forma (obviamente) ocupa menos espacio, por lo que a algunas personas les puede resultar más fácil de leer.
Su pregunta parece un poco vaga: no dijo cuándo desea hacer referencia al mismo libro y cuándo desea acceder a uno diferente. Así que completa el espacio en blanco. Y como parece que la VLOOKUP
parte funciona, la pregunta se reduce a la parte de referencia. En otras palabras, ¿cómo adaptarse?
INDIRECT(CONCATENATE("'[Datafile.xlsx]", B1, "'!$A1:F500"))
que podemos abreviar a
INDIRECT("'[Datafile.xlsx]" & B1 & "'!$A1:F500")
Así que intenta
INDIRECT("'" & IF(
condición, "", "[Datafile.xlsx]") & B1 & "'!$A1:F500")
dóndecondiciónes la condición bajo la cual desea utilizar el archivo actual. En palabras, concatene una comilla simple ( '
), condicionalmente el nombre del libro (entre paréntesis)O no, luego el nombre de la hoja (supongo que es lo que hay en B1
), una segunda comilla, un signo de exclamación y el rango de celdas.