Hay una gran cantidad de funciones en Google Sheets, la mayoría de las cuales son bastante sencillas de entender.
La función INDIRECTO, sin embargo, es una de esas funciones de Google Sheets que puede no ser tan fácil de «entender» al principio.
Para comprender todo el potencial de esta función, también es necesario echar un vistazo a algunos de los ejemplos del mundo real (que también se tratan en este tutorial).
Glosario
¿Qué hace la función INDIRECTO?
En palabras sencillas, la función INDIRECTO devuelve una referencia a un rango dado.
Déjeme explicarlo con un ejemplo:
Supongamos que tiene el valor de 5 en la celda A1, y lo instala para utilizar la fórmula =INDIRECTO(«A1»), entonces le daría 5 como resultado.
Ahora podría estar pensando por qué necesita utilizar la fórmula INDIRECTO cuando puede simplemente referirse a la celda. Así que en lugar de usar la fórmula, puede simplemente usar =A1 en la celda A2 y le daría el mismo resultado.
¡Tiene usted razón!
En este escenario, utilizar la fórmula INDIRECTA no tiene sentido.
Pero hay algunos casos en los que no se dispone fácilmente de la referencia de una celda o rango. En tal escenario la función indirecta sería muy útil.
Estoy seguro de que la utilidad de esta función quedará más clara cuando le muestre algunos ejemplos del mundo real (más adelante en este tutorial)
Sintaxis de la función INDIRECTO
La sintaxis de la función indirecta es la siguiente
INDIRECTO(texto_ref,[estilo_ref])La función toma dos parámetros:
- ref_text : Es una cadena de texto que contiene una referencia a una celda o rango de celdas.
- ref_style : Este parámetro es opcional. Se especifica con un valor TRUE FALSE. Un valor TRUE indica que el ref_text se especifica en notación "A1", mientras que un valor FALSE indica que se especifica en notación "R1C1". Si no se especifica este valor, se asume que el valor por defecto es TRUE.
Tenga en cuenta que el parámetro ref_text también puede contener una referencia a una celda que, a su vez, contenga una cadena con la referencia a otra celda.
Si todo esto parece confuso, se aclarará con algunos ejemplos.
Cómo entender la función INDIRECTO
En el siguiente conjunto de datos, podemos ver 4 formas diferentes de referirse al valor de la celda A2, de las cuales una de las formas es incorrecta.
- En la primera fila, hemos utilizado el método habitual para referirse a una referencia de celda (utilizando la notación A1): "=A2". Esto devolvió el valor de la celda A2, que es 25 .
- En la segunda fila, utilizamos la función INDIRECTO para referirnos a la celda A2. Aquí, especificamos la cadena de texto "A2" como parámetro ref_text: =INDIRECT("A2"). Observe que pusimos la referencia de la celda entre comillas dobles (ya que es una cadena de texto). Esto devolvió el valor de la celda A2, que es 25 .
- En la tercera fila, utilizamos la función INDIRECTO para referirnos a la celda A2. Aquí también especificamos A2 como texto de referencia, pero no lo pusimos entre comillas dobles: =INDIRECT(A2). Esto significa que no pasamos la cadena "A2". Por lo tanto, esto devolvió un error REF .
- En la cuarta fila, utilizamos la función INDIRECTO para referirnos a la celda A5. Aquí especificamos A5 como los parámetros ref_text, sin comillas dobles: =INDIRECT(A5). Esto significa que no estamos pasando la cadena "A5", sino que estamos pasando una referencia a la celda A5. La celda A5 del conjunto de datos contiene la cadena "A2", que utilizamos como referencia para nuestra función INDIRECT. Así, esto devolvió el valor de la celda A2 (no de la A5), que es 25 .
Función INDIRECTA Ejemplos
Esperamos que a estas alturas entienda cómo funciona la función INDIRECTA. Sin embargo, su comprensión sólo se consolidará cuando vea algunos ejemplos de cuándo utilizar la función.
Así que aquí tiene algunos casos de uso en los que la función INDIRECTA puede resultar bastante útil.
Uso de la función INDIRECTO para bloquear una referencia de celda
La función INDIRECTO proporciona una gran manera de "bloquear" celdas específicas o un rango de celdas en una fórmula. Para demostrarlo, veamos el siguiente ejemplo:
Supongamos que la lista de nombres anterior es una lista de ganadores de un campeonato, y la lista se va actualizando con el nombre del campeón principal siempre introducido en la parte superior. Lo que significa que el nombre de quien está en la celda A2, es el actual campeón líder.
Vamos a crear una referencia a esta celda tanto con la función indirecta como sin ella. En la imagen siguiente, creamos una referencia a la celda A2 utilizando la referencia de celda convencional "=A2" en la celda B9.
En la celda B10, sin embargo, utilizamos la función INDIRECTO para referirnos a la celda A2: "=INDIRECTO("A2")"
Dado que en este momento Juan Pérez ocupa la celda A2, ambos métodos muestran el mismo campeón principal, "Juan Pérez".
Supongamos ahora que se encuentra un nuevo ganador, llamado "Samuel Johnson", y se crea una nueva fila en la celda A2 para acomodar su nombre. Observe que esto hace que el nombre de John Smith pase a la siguiente fila (A3).
Veamos qué ocurre con los valores del campeón principal.
Utilizando el método convencional de referenciación de celdas, seguimos obteniendo que el ganador es John Smith. Esto se debe a que la referencia a la celda A2 ha cambiado a A3 al añadir una nueva fila.
Utilizando la función INDIRECTO, sin embargo, el valor del campeón se actualiza a Samuel Johnson, ya que la cadena de referencia en la función no cambia incluso después de la adición de una nueva fila.
Como puede ver, la función INDIRECTO ayuda a "bloquear" las referencias de las celdas. Como tal, es muy útil cuando se desea que un valor se refiera a una ubicación de celda fija, en lugar de depender del valor de la ubicación de la celda.
Uso de la función INDIRECTO para referirse a una celda en una hoja diferente
Otra situación en la que la función INDIRECTA es bastante útil es cuando tiene que extraer datos de otras hojas.
Veamos otro ejemplo.
Suponga que tiene tres hojas, denominadas "Rojo", "Naranja" y "Azul" (como se muestra a continuación):
En la cuarta hoja, queremos mostrar el valor de la celda B2 de cada una de las tres primeras hojas:
Convencionalmente, habría tenido que escribir el nombre de cada hoja junto con la referencia de la celda B2, de la siguiente manera
=NombreDeHoja!B2¡Imagínese hacer eso cuando tiene 30 hojas de trabajo!
Una forma más sencilla sería la siguiente
- En la celda B2 de la nueva hoja, escriba la fórmula
=INDIRECTO(A2&"!B2")
- Pulse la tecla Retorno
- Haga doble clic en el tirador de relleno de la celda B2.
- La fórmula se copia en todas las celdas de la columna B
¡Ahora tiene el valor de la celda B2 de cada hoja mostrado en la columna B!
Esto facilita mucho el trabajo en comparación con el método convencional.
Explicación de la fórmula
Cuando pulsamos el tirador de relleno, la referencia de la celda antes del '&' en cada celda se actualizó al nombre de la siguiente hoja.
Entonces,
- en la celda B2, la función era =INDIRECT(A2&!"!B2"), que se refiere a la celda Rojo!B2
- en la celda B3, la función era =INDIRECT(A3&!"!B2"), que hace referencia a la celda Naranja!B2
- en la celda B4, la función era =INDIRECT(A4&!"!B2"), que hace referencia a la celda Azul!B2
De este modo, con sólo un doble clic, conseguimos que todas las celdas de la fila B se actualicen con los datos requeridos.
Nota : Si necesita extraer datos de diferentes celdas en las distintas hojas, puede tener una columna separada que contenga las referencias de las celdas para cada hoja, y luego utilizar la fórmula INDIRECTA como sigue:
Uso de la función INDIRECTO para referirse dinámicamente a un rango con nombre
Esta es una gran aplicación de la función INDIRECTO.
Digamos que tiene tres columnas para tres colores como se muestra a continuación.
Quiere mostrar el total de un color, según el nombre de la columna seleccionada en la lista desplegable de C6.
Esto significa que el total que se muestra en la celda C11 del conjunto de datos anterior variará en función del color seleccionado.
Tenga en cuenta que no es posible saber de antemano qué color se seleccionará. Por lo tanto, para obtener el total correcto cada vez, es necesario hacer lo siguiente:
- Cree un rango con nombre para cada uno de los colores. Empiece por el rojo.
- Para crear un rango con nombre para los valores del Rojo, seleccione las celdas bajo el Rojo.
- Seleccione Datos->Rango con nombre.
- Esto abrirá la barra lateral de Rangos Nombrados en el lado derecho de la ventana.
- Escriba "Rojo" en el cuadro de entrada situado sobre el rango de celdas.
- Haga clic en Hecho
- Esto creará un rango con nombre para el grupo de celdas bajo 'Rojo'.
- Cree rangos con nombre para cada color de la misma manera.
- Seleccione la celda C11
- Escriba la fórmula:
=SUMA(INDIRECTO(C6))
- Pulse la tecla Retorno.
- Ahora intente seleccionar un color de la lista desplegable. Verá que la suma se actualiza en consecuencia en la celda C11.
Explicación de la fórmula
Desglosemos la fórmula que hemos utilizado:
=SUMA(INDIRECTO(C6))
- Aquí, la función INDIRECTO toma como parámetro la cadena que se encuentra en la celda C6. Así, si se selecciona el texto "Rojo", la función INDIRECTO devolverá una referencia al rango con nombre "Rojo".
- La función SUM tomará los valores numéricos que están en el rango nombrado seleccionado y devolverá la suma.
De este modo, con sólo una pequeña fórmula completamente sencilla, podríamos obtener dinámicamente la suma que necesitamos. De lo contrario, habríamos tenido que recurrir a complejas fórmulas que implican una serie de funciones IF anidadas.
Existen otras formas de aplicar la función INDIRECTO. En este tutorial, explicamos la sintaxis de la función INDIRECTO, junto con algunos ejemplos de fórmulas.
Para ayudar a que su comprensión sea más clara, proporcionamos algunos casos de uso básicos en los que se puede aplicar esta función.
Le animamos a que encuentre más formas creativas de aplicar la función INDIRECTO en las Hojas de cálculo de Google y le facilite el trabajo.
Espero que este tutorial le haya resultado útil.