Resumen
La función INDIRECTA de Excel devuelve una referencia válida de una cadena de texto determinada. INDIRECTO es útil cuando desea convertir un valor de texto en una referencia de celda válida.
Propósito
Crea una referencia a partir del textoValor devuelto
Una referencia de hoja de trabajo válida.Sintaxis
= INDIRECTO (ref_text, (a1))Argumentos
- ref_text : una referencia proporcionada como texto.
- a1 : (opcional) un valor booleano para indicar una referencia de estilo A1 o R1C1. El valor predeterminado es VERDADERO = estilo A1.
Versión
Excel 2003Notas de uso
La función INDIRECTA devuelve una referencia válida de una cadena de texto determinada. INDIRECTO es útil cuando desea convertir un valor de texto en una referencia de celda válida. Por ejemplo, para crear una referencia a la celda A1 desde el texto, puede usar INDIRECTO como este:
=INDIRECT("A1") // returns reference to A1
El propósito de INDIRECT puede parecer al principio desconcertante (es decir, ¿por qué usar texto cuando solo puede proporcionar una referencia adecuada?), Pero hay muchas situaciones en las que la capacidad de crear una referencia a partir de texto es útil, que incluyen:
- Una fórmula que necesita un nombre de hoja variable
- Una referencia fija que no cambiará incluso cuando se eliminen filas o columnas.
- Crear matrices numéricas con la función FILA en fórmulas complejas
Nota: INDIRECTO es una función volátil y puede causar problemas de rendimiento en hojas de trabajo grandes o complejas.
Nombre de la hoja de trabajo variable
En el ejemplo que se muestra arriba, INDIRECTO está configurado para usar un nombre de hoja variable como este:
=INDIRECT(B6&"!A1") // sheet name in B6 is variable
La fórmula en B6, copiada, devuelve el valor en la celda A1 en las primeras 5 hojas utilizando los nombres de hoja ingresados en la columna B. En otras palabras, cuando se ingresa un nombre de hoja diferente en la columna B, se devuelve un nuevo resultado. Con el mismo enfoque, podría permitir que un usuario seleccione un nombre de hoja con una lista desplegable, luego construya una referencia a la hoja seleccionada con INDIRECTO.
Nota: los nombres de las hojas que contienen puntuación o espacios deben ir entre comillas simples ('), como se explica en este ejemplo. Esto no es específico de la función INDIRECTO; lo mismo es cierto en todas las fórmulas.
Referencia fija
La referencia creada por INDIRECTO no cambiará incluso cuando se inserten o eliminen celdas, filas o columnas. Por ejemplo, la fórmula siguiente siempre se referirá a las primeras 100 filas de la columna A, incluso si las filas de ese rango se eliminan o insertan:
=INDIRECT("A1:A100") // will not change
Generar matriz numérica
Un uso más avanzado de INDIRECTO es crear una matriz numérica con la función FILA como esta:
ROW(INDIRECT("1:10")) // create (1;2;3;4;5;6;7;8;9;10)
En esta fórmula se explica un caso de uso, que suma los n valores inferiores en un rango.
También puede encontrarse con esta idea en fórmulas más complejas que necesitan ensamblar una matriz numérica "sobre la marcha". Un ejemplo es esta fórmula, diseñada para eliminar caracteres numéricos de una cadena.
Notas
- Las referencias creadas por INDIRECT se evalúan en tiempo real y se muestra el contenido de la referencia.
- Cuando ref_text es una referencia externa a otro libro de trabajo, el libro de trabajo debe estar abierto.
- a1 es opcional. Cuando se omite, a1 es VERDADERO = referencia de estilo A1.
- Cuando a1 se establece en FALSE, INDIRECT creará una referencia de estilo R1C1.
- INDIRECTO es una función volátil y puede causar problemas de rendimiento.