Utilice la función INDIRECT en fórmulas de Excel para cambiar el rango de referencias de celdas utilizadas en una fórmula sin tener que tratar la fórmula misma. Esto asegura que se usen las mismas celdas, incluso cuando la hoja de cálculo cambia.
Nota : Las instrucciones en este documento se aplican a Excel 2019, Excel 2016, Excel 2013, Excel 2010, Excel para Mac y Excel Online.
Índice de contenidos
Usar un rango dinámico con la fórmula COUNTIF – INDIRECT
La función INDIRECT se puede utilizar con varias funciones que aceptan una referencia de celda como argumento, como las funciones SUM y COUNTIF.
Usando INDIRECT como argumento para COUNTIF crea un rango dinámico de referencias de celdas que pueden ser contadas por la función si los valores de las celdas cumplen un criterio. Para ello, convierte los datos de texto, a veces denominados cadenas de texto, en una referencia de celda.
Este ejemplo se basa en los datos mostrados en la imagen de arriba. La fórmula COUNTIF – INDIRECT creada en el tutorial es:
=COUNTIF(INDIRECT(E1&):"&E2),">10")
En esta fórmula, el argumento para la función INDIRECT contiene:
- La celda hace referencia a E1 y E2, que contienen los datos de texto D1 y D6.
- El operador del rango, los dos puntos ( : ) rodeados de comillas dobles ( » « ) que convierten los dos puntos en una cadena de texto.
- Dos ampersands (&) que se usan para concatenar, o unir, los dos puntos con las referencias de celdas E1 y E2.
El resultado es que INDIRECT convierte la cadena de texto D1:D6 en una referencia de celda y la pasa a la función COUNTIF para ser contada si las celdas referenciadas son mayores que 10.
La función INDIRECT acepta cualquier entrada de texto. Estas pueden ser celdas en la hoja de trabajo que contienen texto o referencias de celdas de texto que se introducen directamente en la función.
Cambiar dinámicamente el rango de la fórmula
Recuerde, el objetivo es crear una fórmula con un rango dinámico. Un rango dinámico puede ser cambiado sin editar la fórmula misma.
Cambiando los datos de texto ubicados en las celdas E1 y E2, de D1 y D6 a D3 y D7, el rango total de la función se puede cambiar fácilmente de D1:D6 a D3:D7. Esto elimina la necesidad de editar directamente la fórmula en la celda G1.
La función COUNTIF en este ejemplo sólo cuenta las celdas que contienen números si son más grandes que 10. Aunque cuatro de las cinco celdas en el rango de D1:D6 contienen datos, sólo tres celdas contienen números. Las celdas que están en blanco o contienen datos de texto son ignoradas por la función.
Contar texto con COUNTIF
La función COUNTIF no se limita a contar datos numéricos. También cuenta las celdas que contienen texto, comprobando si coinciden con un texto determinado.
Para hacer esto, se introduce la siguiente fórmula en la celda G2:
=COUNTIF(INDIRECT(E1&":"&E2), "two")
En esta fórmula, la función INDIRECT hace referencia a las celdas B1 a B6. La función COUNTIF suma el número de celdas que tienen el valor de texto dos en ellas.
En este caso, el resultado es 1.
COUNTA, COUNTBLANK e INDIRECT
Otras dos funciones de recuento de Excel son COUNTA, que cuenta las celdas que contienen cualquier tipo de datos ignorando sólo las celdas en blanco o vacías, y COUNTBLANK, que cuenta sólo las celdas en blanco o vacías en un rango.
Dado que ambas funciones tienen una sintaxis similar a la función COUNTIF, se pueden sustituir en el ejemplo anterior por INDIRECT para crear las siguientes fórmulas:
=COUNTA(INDIRECT(E1&":"&E2))
=COUNTBLANK(INDIRECTO(E1&&E2)Para el rango D1:D6, COUNTA devuelve una respuesta de 4, ya que cuatro de las cinco celdas contienen datos. COUNTBLANK devuelve una respuesta de 1 ya que sólo hay una celda en blanco en el rango.
¿Por qué utilizar una función INDIRECT?
La ventaja de utilizar la función INDIRECT en todas estas fórmulas es que se pueden insertar nuevas celdas en cualquier lugar del rango.
El rango se desplaza dinámicamente dentro de las distintas funciones y los resultados se actualizan en consecuencia.
Sin la función INDIRECT, cada función necesitaría ser editada para incluir las 7 celdas, incluyendo la nueva.
Las ventajas de la función INDIRECT son que los valores de texto se pueden insertar como referencias de celdas y que actualiza dinámicamente los rangos cada vez que cambia la hoja de cálculo.
Esto hace que el mantenimiento general de las hojas de cálculo sea mucho más fácil, especialmente para hojas de cálculo muy grandes.