Inicio › Funciones de Excel › INDIRECTO
Función INDIRECTO en Excel, con ejemplos
INDIRECTO convierte texto en una referencia de celda real. =INDIRECTO("B3") devuelve lo que haya en B3. Se vuelve potente cuando construyes el texto con una fórmula: elige un nombre de hoja, un número de fila o un nombre de rango desde una celda, y la fórmula lo sigue. En el Excel en inglés, la función se llama INDIRECT.
En esta guía
Sintaxis de INDIRECTO
=INDIRECTO(ref; [a1])| Argumento | Qué significa |
|---|---|
| ref | Una referencia en forma de texto, como "B3", "Hoja2!A1" o un rango con nombre. |
| a1 (opcional) | VERDADERO u omitido para referencias A1 normales; FALSO para el estilo F1C1 ("F3C2"). |
Ejemplo básico: número de fila desde una celda
| A | B | C | D | |
|---|---|---|---|---|
| 1 | 10 | Fila | 3 | |
| 2 | 20 | |||
| 3 | 30 | |||
| 4 | 40 | |||
| 5 | 50 |
"A" & D1 se convierte en el texto "A3", e INDIRECTO devuelve el valor de A3: 30. Cambia D1 a 5 y el resultado pasa a ser 50.
El mismo truco crea un rango que crece con un número:
=SUMA(INDIRECTO("A1:A" & D1))Con un 3 en D1, esto suma A1:A3: 10 + 20 + 30 = 60.
Practica INDIRECTO: pruébalo tú mismo
Leer es una cosa y escribirlo es otra. Construye la fórmula de abajo paso a paso: las pistas te dicen qué escribir, y puedes hacer clic en las celdas o arrastrar sobre ellas para añadirlas, igual que en Excel.
Tarea: Muestra en E2 el valor de la celda cuya dirección está en D2: =INDIRECTO(D2)
Traer datos de una hoja cuyo nombre está en una celda
Imagina que tienes una hoja por mes (Ene, Feb, Mar) con el total en B10. En una hoja de resumen, pon los nombres de las hojas en la columna A y usa:
=INDIRECTO("'" & A2 & "'!B10")Cópiala hacia abajo y cada fila muestra el total de la hoja que indica la columna A. Las comillas simples alrededor del nombre de la hoja hacen falta cuando el nombre tiene espacios, como 'Ventas 2026', y no molestan en los demás casos.
Lista desplegable dependiente
INDIRECTO es la forma habitual de crear una segunda lista desplegable que depende de la primera: elige "Fruta" y la siguiente lista muestra solo frutas.
- Pon cada lista en su propia columna con un encabezado: Fruta, Verdura.
- Selecciona cada lista (sin el encabezado) y ponle nombre en el cuadro de nombres, exactamente igual que el encabezado: Fruta y Verdura.
- En A2, crea una lista desplegable con el origen
Fruta;Verdura(o con comas, según tu configuración regional). - En B2, crea una lista desplegable con el origen
=INDIRECTO(A2)
Los nombres de rango no pueden tener espacios. Para "Productos lácteos", llama al rango Productos_lácteos y usa =INDIRECTO(SUSTITUIR(A2; " "; "_"))
Inconvenientes de INDIRECTO
- Es volátil. INDIRECTO se recalcula cada vez que cambia cualquier cosa, y eso ralentiza los libros grandes.
- Las referencias no se actualizan. Como la referencia es texto, no se mueve al insertar filas ni al cambiar el nombre de una hoja. Renombrar "Ene" como "Enero" da #¡REF!.
- No lee libros cerrados. Una referencia a otro archivo solo funciona mientras ese archivo está abierto.
Para búsquedas, INDICE/COINCIDIR o BUSCARX suelen ser mejor opción. Usa INDIRECTO cuando lo que tenga que cambiar sea el propio nombre de la hoja o del rango.
Preguntas frecuentes
¿Por qué INDIRECTO devuelve #¡REF!?
El texto no es una referencia válida: una errata en el nombre de la hoja, faltan las comillas alrededor de un nombre con espacios, un rango con nombre que no existe o una referencia a un libro cerrado.
¿Puedo usar INDIRECTO con el nombre de una tabla?
Sí, por ejemplo =SUMA(INDIRECTO(A2 & "[Importe]")) con el nombre de la tabla en A2.
¿Qué hace INDIRECTO con una referencia fija?
=INDIRECTO("A1") siempre apunta a A1, aunque insertes filas encima. Es una forma de bloquear una referencia por completo, más allá de lo que hace $A$1.
¿Hay una alternativa a INDIRECTO que no sea volátil?
INDICE no es volátil: =SUMA(A1:INDICE(A:A; D1)) da el mismo rango creciente que el ejemplo de INDIRECTO.