Usar INDIRECTO para dinamicamente referir a hojas de trabajo en Excel y Google Sheets

A veces quieres hacer referencia a ciertas hojas de trabajo (worksheets) dinámicamente. Por ejemplo si tienes datos en el mismo formato dividido o repartido en multiples worksheets y quieres seleccionar datos desde diferentes hojas de manera dinámica.

En este caso, puedes usar la función de INDIRECTO(), que está disponible tanto en Excel como Google Spreadsheets. Les mostraré como utilizarlo con un pequeño ejemplo.

INDIRECTO(): Devuelve la referencia especificada en una cadena de texto (text string). Las referencias son evaluadas inmediatamente para mostrar su contenido.

Usando Indirecto() para dinamicamente referirse a una hoja de trabajo (worksheet)

En el siguiente ejemplo queremos buscar el ingreso de un producto especifico, dinámicamente refiriéndonos a la hoja de información de cada uno de los productos.

Tenemos una hoja llamada Ingresos en la que queremos ver el ingreso de un producto en particular. Luego, tenemos dos hojas con información de ventas e ingresos para dos productos: Producto1 y Producto2.

Normalmente solo podrías referirte a una de estas hojas de trabajo.
Normalmente solo podrías referirte a una de estas hojas de trabajo.

Queremos que la hoja Ingresos muestre los ingresos de un producto especifico y sea capaz de actualizar los números dinámicamente cuando cambiemos la celda D1.

Desafortunadamente no podemos hacer referencia a la celda D1 para especificar que hoja queremos usar en nuestra función BUSCARV() de esta manera:

No podemos usar una referencia variable para D1 en BUCARV()
No podemos usar una referencia variable para D1 en BUCARV()

Para este trabajo tenemos que utilizar la función INDIRECTO(). Nos permite utilizar el valor que tiene la celda D1 para crear una función BUSCARV() dinámica que refiera a números o rangos que se encuentren en multiples hojas de trabajo.

Utilizando el nombre de hojas de trabajo como variables para la función INDIRECTO
Utilizando el nombre de hojas de trabajo como variables para la función INDIRECTO()

Ahora puedes cambiar la celda D1 a “Producto2” y los números de ingreso se mostrarán y actualizarán de manera dinámica y recabaran los números de la hoja de trabajo numero 2.

Indirecto() en Excel

Para recapitular, puedes usar INDIRECTO() para referirte a multiples hojas de trabajo de forma variable de esta manera:

=INDIRECTO("'"&D1&"'!"&"A3:D6")

Indirecto() en Google Spreadsheets

Puedes utilizar INDIRECTO() en Google Spreadsheets de una manera muy similar:

=INDIRECTO(CONCATENAR(D1,"!A3:D6")

Como siempre, puedes dejarme saber si este sistema te funcionó, y hacerme las preguntas que necesites en los comentarios.

  • Muchas gracias. No conocía esta función. Me sirvió de mucho. saludos

  • Taurito

    Y para utilizar con la formula MAX anidada, cual debe ir dentro de cual? Gracias

  • HAMILTON VALENCIA

    Hola, estoy intentando dar formato condicional a un rango de celdas, para ello estoy utilizando una formula personalizada con la función Countif, me sale un error de formula intentado así; =COUNTIF(INDIRECT(‘HOJA1’!B:B);INDIRECT(‘HOJA2’!B:B))<1
    Podría por favor revisar que tengo mal en la formula ?