En este artículo vemos la función INDICE, para qué sirve, con que otras funciones se la lleva muy bien y algunos ejemplos de uso.
Aquí tienen la explicación también en video:
¿Qué es la función INDICE?
La función INDICE es básicamente un buscador de direcciones. Yo le doy una dirección y Sheets me dice lo que hay ahí.
Pero primero debemos entender el concepto de arreglos:
Arreglos unidimensionales
Un arreglo unidimensional es básicamente una lista de valores o de objetos.
En el caso de Sheets, un arreglo unidimensional sería un rango de solo una fila o una sola columna.
Un ejemplo de arreglo es el siguiente listado de frutas:
{manzana,pera,mango,banano, piña}
En el caso de Sheets o Excel, el mismo arreglo se vería así:

O así

Olvidémonos de Sheets un momento. En cualquier lenguaje de programación, ¿cómo «traigo» cualquiera de los elementos del arreglo?
Hay varias formas, pero lo importante aquí es saber que necesito la posición del elemento
Por ejemplo si quiero «traer» «banano», necesito saber en qué posición de mi arreglo está. En este ejemplo, «banano» está en la posición 4.
Así mismo, «pera» está en la posición 2 y piña en la posición 5.
Lo que hace Índice entonces es que me trae el valor del arreglo con la posición que yo le dé.
=INDICE({manzana,pera,mango,banano, piña};4)
Me traería banano, al igual que en los ejemplos anteriores, la formula sería
=INDICE(A1:A5;4)
o
=INDICE(A9:E9;4)
Todas me darían el mismo resultado: «banano»
Arreglos bidimensionales
Hasta ahora todo muy fácil y obvio, y hasta podriamos no verle la utilidad dentro de un software de hojas de cálculo como Sheets.
Ya llegaremos ahí.
Por ahora extendamos el uso de INDICE a un arreglo bidimensional.
Supongamos la siguiente tabla:

Digamos que quiero buscar las calorías del banano.
En el primer ejemplo era más fácil porque solo necesitaba una posición: la 4
Pero ahora estamos hablando de filas y columnas, entonces necesito dos coordenadas, la de las filas y las de las columnas.
Mi INDICE ahora se vería así
=INDICE(A1:E6;5;2)
Donde ahora pongo todo mi rango, después la fila, y por último la columna.
Obviamente, el rango de la fila y de la columna podrían ser referencias, como en este caso

Ejemplos de uso
Sigue sin parecernos muy interesante, ¿verdad? La verdad es que indice funciona mejor en conjunto con otras funciones.
Por eso es más fácil entenderla con ejemplos
INDICE + COINCIDIR
Este es el ejemplo más usado y más conocido de todos.
Es un excelente reemplazo para BUSCARV.
Si sabemos que INDICE me trae el valor de una intersección entre una fila y una columna, que pasaría si yo puedo buscar dinámicamente el valor de la fila y/o de la columna.
Por ejemplo, en el caso de arriba, sería más interesante, en vez de yo poner el número de fila y de columna, más bien poner la fruta y la propiedad, y de alguna manera que Sheets me identifique en que fila está la fila y en que columna la propiedad.
Esto se logra con la función COINCIDIR.
Por ejemplo la siguiente fórmula:
=COINCIDIR(«banano»;A1:A6;0)
Me traerá la posición de banano en la columna A.
O sea que le podría pasar este resultado a INDICE, para la fila.
Y por otro lado, la siguiente función
=COINCIDIR(«CALORIAS»;A1:E1;0)
Me traería el número de columna donde están las calorías.
Y esta la puedo reemplazar por mi argumento de columna en INDICE.
La formula mejorada entonces quedaría así
=INDICE(A1:E6;COINCIDIR(B8;A1:A6;0);COINCIDIR(B9;A1:E1;0))
Y el ejemplo completo:

Entonces si cambio «banano» por «pera», y «CALORIAS» por «PROTEINAS», me traerá el valor correspondiente.
INDICE + CONTARA
CONTARA es una forma muy fácil de saber cuantos registros o datos tiene una lista o una tabla.
Por tanto, si ingreso una COUNTA dentro de un INDICE, me va a traer el último dato de un rango. Veamos el ejemplo:

La fórmula sería:
=INDICE(A1:A;CONTARA(A1:A))
INDICE + SPLIT
Esta es una forma, muy útil y sencilla para traer la primera, segunda o última palabra de un texto
SPLIT es una función que separa un texto por un delimitador que le demos.
Piensen en la opción «Separar texto en columnas» pero en una función.
Entonces si tengo el texto «Juan,Carlos,Maria»
Uso primero SPLIT para separarlo y me resultaría en el siguiente arreglo:

Pero como solo quiero la primera palabra, y ya tengo mi arreglo, y ya sabemos que con INDICE podemos traer la primera posición de mi arreglo, así
=INDICE(SPLIT(A2;»,»);1)
Fíjense que a diferencia de los otros ejemplos, la función anidada no va en el argumento del índice, sino en el del rango.
INDICE + INDICE
Por último, veremos como usar dos indices dentro de un arreglo para extraer un trozo del rango que queramos.
Por ejemplo podemos traer los primeros 5 datos de un rango, con la formula
=INDICE(A1:A100;1):INDICE(A1:A100;5)
O del dato 5 al 10
=INDICE(A1:A100;5):INDICE(A1:A100;10)
Y si queremos los últimos 5, juntamos este método con el de CONTARA que ya vimos
=INDICE(A1:A7;CONTARA(A:A)-5):INDICE(A1:A7;CONTARA(A:A))
Conclusión
Como pueden ver INDICE es una poco usada, pero muy útil función que funciona mejor en conjunto con otras funciones que ya conocemos.
Suscríbete para acceder al curso «Descubriendo el poder de Google Sheets» y empezar tu camino a la maestría de Sheets, Forms y Apps Script
Deja una respuesta