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.
Hola. como estás? Me podrías ayudar a resolver algo que no puedo? Tengo una planilla de ENTRADAS y otra de SALIDAS. Quiero en una tercera que me aparezcan las filas que no tienen salida, para identificar el lote de entrada. es decir tengo datos de entrada, cuando hago salidas mequeda un inventario que quiero saber cual es, sin totales, cada fila o entrada que no dí salida, para controlar stock. se entiende? gracias
Hola Pablo
Pudiste solucionar?
Hola Juán buenos días
Te felicito primero por la página (a mi entender, de los pocos se entiende tan claro con los ejemplos 🙂
Te hago una consulta, estoy armando en una hoja información desde 2 fuentes. Una fuente que está en el mismo libro en otra pestaña (uso “querry” para traer la información que necesito) y la otra fuente de informacion la quiero traer de otro libro y pensaba usar “Importrange” pero aparece un cartel dice “no tienes permiso para acceder a esta hoja MAS INFORMACION”, cuanso en vez de “MAS INFORMAICON” debería aparecer “PERMITIR ACCESO” para solicitar la autorización pero no descubro cómo. ¿como puedo hacer? (NOTA: ambos archivos estan en google sheet y tengo acceso a ambos desde mi cuenta)
Hola Bruno
Tienes acceso de edición a los 2 archivos?
Saludos!
Hola Juan gracias por tu Respuesta
Al parecer hay algo bloqueando pero no se donde ver si es así o no.
Probé la función trayendo información desde una tercer fuente de datos para probar y funcionó. El tema está en que hay algo bloqueado el archivo de origen de la base de datos y no se donde revisarlo si es así (menos como sacarlo) si se trata de bloqueo de un intervalo de la hoja, la hoja entera o todo el archivo.
Hola Juan, muy buenas las explicaciones !
Tengo una consulta, necesito a un resultado de rango de un INDICE anexar un otro texto o símbolo por ej. si obtengo :
Casa
Auto
Perro
que me muestre
*Casa
*Auto
*Perro
algo así como unir el resultado a otra cadena .. es posible ?
Muchas gracias !
Solucionado con ArrayFormula
Muchas gracias !
Hola Michel
Buena solución!
Un gran saludo
Quiero buscar datos de dos paginas, de una me funciona bien, mi formula es:
=SI.ERROR(INDICE(importrange(“direccion”;”D:D”);COINCIDIR(D183;IMPORTRANGE(“direccion”;”E:E”);0));INDICE(importrange(“direccion”;”D:D”);COINCIDIR(D183;IMPORTRANGE(“direccion”;”E:E”);0)))
Cambie la direccion de mi planilla por la palabra direccion para que se entienda mejor la formula.
Ahora, por lo que veo en este tutorial la formula deberia de ser algo mas parecido a:
=INDICE(importrange(“direccion”;”D:D”);COINCIDIR(D185;IMPORTRANGE(“direccion”;”E:E”))):INDICE(importrange(“direccion”;”D:D”);COINCIDIR(D185;IMPORTRANGE(“direccion”;”E:E”)))
Pero de esta ultima manera me da error. Mi meta es poniendo el valor del documento de un cliente, que me traiga el nombre. el problema que los clientes estan divididos en 6 hojas distintas repartidas en 5 libros de drive. De momento no puedo lograrlo siquiera con dos hojas en un mismo libro, que seria lo básico para escalar al resto.
Podrias orientarme por favor en que me estoy equivocando?
Desde ya gracias por la información que compartiste.
Hola Edgardo
Mil gracias por escribir
En la ultima te falto el si.error, porque de resto es lo mismo
Para lograr lo que tu dices, tienes que consolidar primero las 6 hojas y sobre esa si haces el indice.
Aqui te dejo un video de consolidar que te puede dar mas ideas
https://youtu.be/Qhky_Q33mp8
Un gran saludo!