Función INDIRECTA de Excel - usos básicos y ejemplos de fórmulas

  • Compartir Este
Michael Brown

Este tutorial de Excel INDIRECTO explica la sintaxis de la función, sus usos básicos y proporciona una serie de ejemplos de fórmulas que demuestran cómo utilizar INDIRECTO en Excel.

Existe una gran cantidad de funciones en Microsoft Excel, algunas son fáciles de entender, otras requieren una larga curva de aprendizaje, y las primeras se utilizan con más frecuencia que las segundas. Sin embargo, INDIRECTO de Excel es una de ellas. Esta función de Excel no realiza ningún cálculo, ni evalúa ninguna condición o prueba lógica.

Entonces, ¿qué es la función INDIRECTO en Excel y para qué la utilizo? Es una muy buena pregunta y espero que obtengas una respuesta completa en unos minutos, cuando hayas terminado de leer este tutorial.

    Función INDIRECTO de Excel - sintaxis y usos básicos

    Como su nombre indica, la función INDIRECTO de Excel se utiliza para hacer referencia indirecta a celdas, rangos, otras hojas o libros. En otras palabras, la función INDIRECTO le permite crear una referencia dinámica a celdas o rangos en lugar de codificarlos. Como resultado, puede cambiar una referencia dentro de una fórmula sin cambiar la propia fórmula. Además, estas referencias indirectas no cambiarán cuando se añadan nuevas filas o columnas.se insertan en la hoja de cálculo o cuando se elimina alguno de los existentes.

    Todo esto puede ser más fácil de entender a partir de un ejemplo. Sin embargo, para poder escribir una fórmula, incluso la más simple, es necesario conocer los argumentos de la función, ¿verdad? Así que, primero echemos un vistazo rápido a la sintaxis INDIRECTA de Excel.

    Sintaxis de la función INDIRECTO

    La función INDIRECTO en Excel devuelve una referencia de celda a partir de una cadena de texto. Tiene dos argumentos, el primero es obligatorio y el segundo es opcional:

    INDIRECT(ref_text, [a1])

    ref_text - es una referencia a una celda, o una referencia a una celda en forma de cadena de texto, o un rango con nombre.

    a1 - es un valor lógico que especifica qué tipo de referencia contiene el argumento ref_text:

    • Si es TRUE o se omite, ref_text se interpreta como una referencia de celda estilo A1.
    • Si es FALSE, ref_text se trata como una referencia R1C1.

    Aunque el tipo de referencia R1C1 puede ser útil en determinadas situaciones, probablemente querrá utilizar las conocidas referencias A1 la mayor parte del tiempo. De todos modos, casi todas las fórmulas INDIRECTAS de este tutorial utilizarán referencias A1, por lo que omitiremos el segundo argumento.

    Utilización básica de la función INDIRECTO

    Para adentrarnos en los entresijos de la función, escribamos una fórmula sencilla que demuestre cómo se utiliza INDIRECTO en Excel.

    Supongamos que tiene el número 3 en la celda A1, y el texto A1 en la celda C1. Ahora, ponga la fórmula =INDIRECTO(C1) en cualquier otra celda y ver qué pasa:

    • La función INDIRECTO se refiere al valor de la celda C1, que es A1.
    • La función se dirige a la celda A1 donde elige el valor a devolver, que es el número 3.

    Así pues, lo que la función INDIRECTA hace realmente en este ejemplo es convertir una cadena de texto en una referencia de celda .

    Si crees que esto todavía tiene muy poco sentido práctico, por favor, ten paciencia conmigo y te mostraré algunas fórmulas más que revelan el verdadero poder de la función INDIRECTO de Excel.

    Cómo utilizar INDIRECTO en Excel - ejemplos de fórmulas

    Como se demuestra en el ejemplo anterior, puede utilizar la función INDIRECTO de Excel para poner la dirección de una celda en otra como una cadena de texto habitual, y obtener el valor de la 1ª celda haciendo referencia a la 2ª. Sin embargo, ese ejemplo trivial no es más que una pista de las capacidades de INDIRECTO.

    Cuando se trabaja con datos reales, la función INDIRECTO puede convertir cualquier cadena de texto en una referencia, incluyendo cadenas muy complejas que se construyen utilizando los valores de otras celdas y los resultados devueltos por otras fórmulas de Excel. Pero no pongamos el carro delante del caballo, y repasemos varias fórmulas Indirectas de Excel, una cada vez.

    Creación de referencias indirectas a partir de valores de celda

    Como recordará, la función INDIRECTO de Excel permite los estilos de referencia A1 y R1C1. Normalmente, no puede utilizar ambos estilos a la vez en una misma hoja, sólo puede cambiar entre los dos tipos de referencia mediante Archivo> Opciones> Fórmulas > Casilla R1C1 Esta es la razón por la que los usuarios de Excel rara vez se plantean utilizar R1C1 como método alternativo de referenciación.

    En una fórmula INDIRECTA, puede utilizar cualquiera de los dos tipos de referencia en la misma hoja si lo desea. Antes de seguir adelante, es posible que desee conocer la diferencia entre los estilos de referencia A1 y R1C1.

    Estilo A1 es el tipo de referencia habitual en Excel que hace referencia a una columna seguida de un número de fila. Por ejemplo, B2 hace referencia a la celda situada en la intersección de la columna B y la fila 2.

    Estilo R1C1 es el tipo de referencia opuesto: filas seguidas de columnas, a lo que lleva algún tiempo acostumbrarse : ) Por ejemplo, R4C1 se refiere a la celda A4 que está en la fila 4, columna 1 de una hoja. Si no aparece ningún número después de la letra, entonces se está refiriendo a la misma fila o columna.

    Y ahora, veamos cómo maneja la función INDIRECTO las referencias A1 y R1C1:

    Como puede ver en la captura de pantalla anterior, tres fórmulas indirectas diferentes devuelven el mismo resultado. ¿Ya ha averiguado por qué? Apuesto a que sí : )

    • Fórmula en la celda D1: =INDIRECTO(C1)

    La fórmula se refiere a la celda C1, obtiene su valor - cadena de texto A2 lo convierte en una referencia de celda, se dirige a la celda A2 y devuelve su valor, que es 222.

    • Fórmula en la celda D3: =INDIRECT(C3,FALSE)

    FALSE en el 2º argumento indica que el valor referido (C3) debe tratarse como una referencia a la celda R1C1, es decir, un número de fila seguido de un número de columna. Por lo tanto, nuestra fórmula INDIRECTA interpreta el valor de la celda C3 (R2C1) como una referencia a la celda situada en la conjunción de la fila 2 y la columna 1, que es la celda A2.

    Creación de referencias indirectas a partir de valores de celda y texto

    De forma similar a como creamos referencias a partir de valores de celda, puedes combinar un cadena de texto y un referencia de celda dentro de la fórmula INDIRECTA, junto con el operador de concatenación (&).

    En el siguiente ejemplo, la fórmula: =INDIRECT("B"&C2) devuelve un valor de la celda B2 basado en la siguiente cadena lógica:

    La función INDIRECT concatena los elementos del argumento ref_text - text B y el valor de la celda C2 -> el valor de la celda C2 es el número 2, que hace referencia a la celda B2 -> la fórmula va a la celda B2 y devuelve su valor, que es el número 10.

    Utilización de la función INDIRECTO con rangos con nombre

    Además de hacer referencias a partir de valores de celdas y texto, puede utilizar la función INDIRECTO de Excel para hacer referencia a gamas denominadas .

    Suponga que tiene los siguientes rangos con nombre en su hoja:

    • Manzanas - B2:B6
    • Plátanos - C2:C6
    • Limones - D2:D6

    Para crear una referencia dinámica en Excel a cualquiera de los rangos nombrados anteriormente, basta con introducir su nombre en alguna celda, por ejemplo G1, y hacer referencia a esa celda desde una fórmula indirecta =INDIRECTO(G1) .

    Y ahora, puede dar un paso más e incrustar esta fórmula INDIRECTA en otras funciones de Excel para calcular la suma y la media de los valores de un rango determinado, o encontrar el valor máximo / mínimo dentro del rango:

    • =SUMA(INDIRECTA(G1))
    • =MEDIA(INDIRECTA(G1))
    • =MÁX(INDIRECTA(G1))
    • =MIN(INDIRECTO(G1))

    Ahora que ya tienes una idea general de cómo utilizar la función INDIRECTO en Excel, podemos experimentar con fórmulas más potentes.

    Fórmula INDIRECTA para remitir dinámicamente a otra hoja de cálculo

    La utilidad de la función INDIRECTO de Excel no se limita a crear referencias "dinámicas" a celdas. También puede utilizarla para hacer referencia a celdas de otras hojas de cálculo "sobre la marcha", y aquí le explicamos cómo.

    Supongamos que tiene algunos datos importantes en la Hoja 1, y desea extraer esos datos en la Hoja 2. La siguiente captura de pantalla muestra cómo una fórmula indirecta de Excel puede manejar esta tarea:

    Desmenucemos la fórmula que se ve en la captura de pantalla y entendámoslo.

    Como ya sabe, la forma habitual de hacer referencia a otra hoja en Excel es escribir el nombre de la hoja seguido del signo de exclamación y una referencia de celda / rango, como por ejemplo Rango Dado que el nombre de una hoja suele contener espacios, es mejor encerrarlo (el nombre, no el espacio : ) entre comillas simples para evitar errores, por ejemplo '¡Mi Hoja!'$A$1 .

    Y ahora, todo lo que tienes que hacer es introducir el nombre de la hoja en una celda, la dirección de la celda en otra, concatenarlos en una cadena de texto, y alimentar esa cadena a la función INDIRECTO. Recuerda que en una cadena de texto, tienes que encerrar cada elemento que no sea una dirección de celda o un número entre comillas dobles y unir todos los elementos usando el operador de concatenación (&).

    Dado lo anterior, obtenemos el siguiente patrón:

    INDIRECT("'" & Nombre de la hoja & "'!" & Celda de la que extraer datos )

    Volviendo a nuestro ejemplo, pones el nombre de la hoja en la celda A1, y escribes las direcciones de las celdas en la columna B, como se muestra en la captura de pantalla anterior. Como resultado, obtienes la siguiente fórmula:

    INDIRECT("'" & $A$1 & "'!" & B1)

    Además, preste atención a que si está copiando la fórmula en varias celdas, tiene que bloquear la referencia al nombre de la hoja utilizando las referencias absolutas de celda como $A$1.

    Notas

    • Si alguna de las celdas que contienen el nombre de la 2ª hoja y la dirección de la celda (A1 y B1 en la fórmula anterior) está vacía, su fórmula INDIRECTA devolverá un error. Para evitar esto, puede envolver la función INDIRECTA en la función SI:

      IF(OR($A$1="",B1=""), "", INDIRECT("'" & $A$1 & "'!" & B1))

    • Para que la fórmula INDIRECTA que hace referencia a otra hoja funcione correctamente, la hoja referida debe estar abierta, de lo contrario la fórmula devolverá un error #REF. Para evitar el error, puede utilizar la función IFERROR, que mostrará una cadena vacía, sea cual sea el error:

      IFERROR(INDIRECT("'" & $A$1 & "'!" &B1), "")

    Creación de una referencia dinámica de Excel a otro libro

    La fórmula indirecta que hace referencia a otro libro de Excel se basa en el mismo planteamiento que una referencia a otra hoja de cálculo. Sólo hay que especificar el nombre del libro además del nombre de la hoja y la dirección de la celda.

    Para facilitar las cosas, empecemos por hacer referencia a otro libro de la forma habitual (se añaden apóstrofes en caso de que los nombres de sus libros y/o fichas contengan espacios):

    '[Nombre_libro.xlsx]Nombre_hoja'!Rango

    Suponiendo que el nombre del libro está en la celda A2, el nombre de la hoja en B2 y la dirección de la celda en C2, obtenemos la siguiente fórmula:

    =INDIRECT("'[" & $A$2 & "]" & $B$2 & "'!" & C2)

    Como no quieres que las celdas que contienen los nombres del libro y de la hoja cambien al copiar la fórmula a otras celdas, las bloqueas utilizando referencias absolutas de celda, $A$2 y $B$2, respectivamente.

    Y ahora, puedes escribir fácilmente tu propia referencia dinámica a otro libro de Excel utilizando el siguiente patrón:

    =INDIRECT("'[" & Nombre del libro & "]" & Nombre de la hoja & "'!" & Dirección del móvil )

    Nota: el libro de trabajo al que se refiere la fórmula debe estar siempre abierto, de lo contrario la función INDIRECTO arrojará un error #REF. Como de costumbre, la función IFERROR puede ayudarle a evitarlo:

    =IFERROR(INDIRECT("'[" & A2 & "]" & $A$1 & "'!" & B1), "")

    Uso de la función INDIRECTO de Excel para bloquear una referencia de celda

    Normalmente, Microsoft Excel cambia las referencias de las celdas cuando se insertan filas o columnas nuevas o se borran las existentes en una hoja. Para evitar que esto ocurra, puede utilizar la función INDIRECTO para trabajar con referencias de celdas que deberían permanecer intactas en cualquier caso.

    Para ilustrar la diferencia, haga lo siguiente:

    1. Introduzca cualquier valor en cualquier celda, por ejemplo, el número 20 en la celda A1.
    2. Refiérase a A1 desde otras dos celdas de diferentes maneras: =A1 y =INDIRECTO("A1")
    3. Inserte una nueva fila encima de la fila 1.

    ¿Ves lo que pasa? La célula con el igual a sigue devolviendo 20, porque su fórmula se ha cambiado automáticamente a =A2. La celda con la fórmula INDIRECTA ahora devuelve 0, porque la fórmula no se cambió al insertar una nueva fila y sigue haciendo referencia a la celda A1, que actualmente está vacía:

    Después de esta demostración, puede que tengas la impresión de que la función INDIRECTO es más una molestia que una ayuda. Bien, intentémoslo de otra forma.

    Supongamos que quieres sumar los valores de las celdas A2:A5, y puedes hacerlo fácilmente utilizando la función SUMA:

    =SUMA(A2:A5)

    Sin embargo, quiere que la fórmula no se modifique, independientemente del número de filas que se borren o inserten. La solución más obvia -el uso de referencias absolutas- no le servirá. Para asegurarse, introduzca la fórmula =SUMA($A$2:$A$5) en alguna celda, insertar una nueva fila, digamos en la fila 3, y... encontrar la fórmula convertida a =SUMA($A$2:$A$6) .

    Por supuesto, esta cortesía de Microsoft Excel funcionará bien en la mayoría de los casos. Sin embargo, puede haber situaciones en las que no desee que la fórmula se modifique automáticamente. La solución es utilizar la función INDIRECTO, de esta forma:

    =SUMA(INDIRECT("A2:A5"))

    Dado que Excel percibe "A1:A5" como una mera cadena de texto y no como una referencia a un rango, no realizará ningún cambio cuando inserte o elimine una o varias filas.

    Uso de INDIRECTO con otras funciones de Excel

    Aparte de SUMA, INDIRECTO se utiliza frecuentemente con otras funciones de Excel como FILA, COLUMNA, DIRECCIÓN, VLOOKUP, SUMIF, por nombrar algunas.

    Ejemplo 1. Funciones INDIRECTO y FILA

    Muy a menudo, la función ROW se utiliza en Excel para devolver una matriz de valores. Por ejemplo, puede utilizar la siguiente fórmula de matriz (recuerde que requiere pulsar Ctrl + Mayús + Intro ) para devolver la media de los 3 números más pequeños del rango A1:A10:

    =MEDIA(SMALL(A1:A10,FILA(1:3)))

    Sin embargo, si insertas una nueva fila en tu hoja de cálculo, en cualquier lugar entre las filas 1 y 3, el rango en la función FILA cambiará a FILA(1:4) y la fórmula devolverá la media de los 4 números más pequeños en lugar de 3.

    Para evitar que esto ocurra, anide INDIRECT en la función ROW y su fórmula de matriz siempre será correcta, independientemente del número de filas que se inserten o eliminen:

    =MEDIA(SMALL(A1:A10,ROW(INDIRECT("1:3"))))

    Aquí tienes un par de ejemplos más del uso de INDIRECT y ROW junto con la función LARGE: Cómo sumar N números mayores en un rango.

    Ejemplo 2. Funciones INDIRECTO y DIRECCIÓN

    Puede utilizar el INDIRECTO de Excel junto con la función DIRECCIÓN para obtener sobre la marcha un valor en una celda determinada.

    Como recordarás, la función DIRECCIÓN se utiliza en Excel para obtener la dirección de una celda mediante los números de fila y columna. Por ejemplo, la fórmula =DIRECCIÓN(1,3) devuelve la cadena $C$1 ya que C1 es la celda en la intersección de la 1ª fila y la 3ª columna.

    Para crear una referencia indirecta a una celda, basta con incrustar la función DIRECCIÓN en una fórmula INDIRECTA como ésta:

    =INDIRECTA(DIRECCIÓN(1,3))

    Por supuesto, esta fórmula trivial sólo demuestra la técnica. Y aquí van algunos ejemplos que pueden resultar realmente útiles:

    • Fórmula DIRECCIÓN INDIRECTA - cómo cambiar filas y columnas.
    • VLOOKUP e INDIRECT - cómo extraer datos dinámicamente de diferentes hojas.
    • INDIRECT con INDEX / MATCH - cómo llevar a la perfección una fórmula VLOOKUP que distingue mayúsculas de minúsculas.
    • Excel INDIRECT y COUNTIF - cómo utilizar la función COUNTIF en un rango no contiguo o en una selección de celdas.

    Uso de INDIRECTO con Validación de Datos en Excel

    Puede utilizar la función INDIRECTA de Excel con Validación de Datos para crear listas desplegables en cascada que muestren diferentes opciones dependiendo del valor que el usuario haya seleccionado en la primera lista desplegable.

    Una simple lista desplegable dependiente es realmente fácil de hacer. Todo lo que se necesita son unos cuantos rangos con nombre para almacenar los elementos de la lista desplegable y un simple comando =INDIRECTO(A2) donde A2 es la celda que muestra la primera lista desplegable.

    Para crear menús de 3 niveles o desplegables más complejos con entradas de varias palabras, necesitará una fórmula INDIRECTA un poco más compleja con una función SUBSTITUIR anidada.

    Para obtener una guía detallada paso a paso sobre cómo utilizar INDIRECTO con la Validación de datos de Excel, consulte este tutorial: Cómo crear una lista desplegable dependiente en Excel.

    Función INDIRECTA de Excel - posibles errores y problemas

    Como se ha demostrado en los ejemplos anteriores, la función INDIRECTO es bastante útil cuando se trata de referencias a celdas y rangos. Sin embargo, no todos los usuarios de Excel la adoptan con entusiasmo, sobre todo porque el uso extensivo de INDIRECTO en las fórmulas de Excel da lugar a una falta de transparencia. La función INDIRECTO es difícil de revisar, ya que la celda a la que hace referencia no es la ubicación final del valor utilizado en la fórmula,lo que resulta bastante confuso, especialmente cuando se trabaja con fórmulas complejas.

    Además de lo dicho anteriormente, como cualquier otra función de Excel, INDIRECTA puede lanzar un error si utilizas mal los argumentos de la función. Aquí tienes una lista de los errores más típicos:

    ¡Error Excel INDIRECTO #REF!

    La mayoría de las veces, la función INDIRECTO devuelve un error #REF! en tres casos:

    1. ref_text no es una referencia de celda válida Si el parámetro ref_text de la fórmula INDIRECT no es una referencia de celda válida, la fórmula mostrará el valor de error #REF! Para evitar posibles problemas, compruebe los argumentos de la función INDIRECT.
    2. Se supera el límite de alcance Si el argumento ref_text de su fórmula indirecta hace referencia a un rango de celdas que supera el límite de filas de 1.048.576 o el límite de columnas de 16.384, también obtendrá el error #REF en Excel 2007, 2010 y Excel 2013. Las versiones anteriores de Excel ignoran el límite superado y devuelven algún valor, aunque a menudo no el que cabría esperar.
    3. La hoja o el libro de trabajo referidos están cerrados. ¡Si su fórmula indirecta hace referencia a otro libro u hoja de cálculo de Excel, ese otro libro / hoja de cálculo debe estar abierto, de lo contrario INDIRECT devuelve el error #REF!

    Error Excel INDIRECT #NAME?

    Este es el caso más obvio, lo que implica que hay algún error en el nombre de la función, lo que nos lleva al siguiente punto : )

    Utilización de la función INDIRECT en idiomas distintos del inglés

    Le resultará curioso saber que el nombre inglés de la función INDIRECT se ha traducido a 14 idiomas, entre ellos:

    • Danés - INDIREKTE
    • Finlandés - EPÄSUORA
    • Alemán - INDIREKT
    • Húngaro - INDIREKT
    • Italiano - INDIRETTO
    • Noruego - INDIREKTE
    • Polaco - ADR.POŚR
    • Español - INDIRECTO
    • Sueco - INDIREKT
    • Turco - DOLAYLI

    Si está interesado en obtener la lista completa, consulte esta página.

    Un problema común con las localizaciones no inglesas no es el nombre de la función INDIRECT, sino más bien diferentes Ajustes regionales para la Separador de listas En la configuración estándar de Windows para Norteamérica y algunos otros países, el valor predeterminado es Separador de listas es una coma. Mientras que en los países europeos, la coma se reserva como el Símbolo decimal y el Separador de listas es punto y coma.

    Como resultado, al copiar una fórmula entre dos configuraciones regionales de Excel diferentes, puede aparecer el mensaje de error " Encontramos un problema con esta fórmula... "porque el Separador de listas Si se encuentra con este error al copiar alguna fórmula INDIRECTA de este tutorial en su Excel, simplemente sustituya todas las comas (,) por punto y coma (;) para solucionarlo.

    Para comprobar qué Separador de Lista y Símbolo Decimal están configurados en su máquina, abra la pantalla Panel de control y vaya a Región e idioma> Ajustes adicionales .

    Esperamos que este tutorial haya arrojado algo de luz sobre el uso de INDIRECTO en Excel. Ahora que conoces sus puntos fuertes y sus limitaciones, es hora de probarlo y ver cómo la función INDIRECTO puede simplificar tus tareas en Excel. ¡Gracias por leer!

    Michael Brown es un entusiasta de la tecnología dedicado y apasionado por simplificar procesos complejos utilizando herramientas de software. Con más de una década de experiencia en la industria de la tecnología, ha perfeccionado sus habilidades en Microsoft Excel y Outlook, así como en Google Sheets y Docs. El blog de Michael está dedicado a compartir su conocimiento y experiencia con otros, brindando consejos y tutoriales fáciles de seguir para mejorar la productividad y la eficiencia. Ya sea un profesional experimentado o un principiante, el blog de Michael ofrece información valiosa y consejos prácticos para aprovechar al máximo estas herramientas de software esenciales.