Función INDICE – Ejemplos en Excel, VBA y Google Sheets
Download the example workbook
Este tutorial muestra cómo utilizar la Función INDICE en Excel y Google Sheets para devolver un valor basado en referencias de columna y fila.
¿Qué es la Función INDICE?
La función INDICE devuelve el valor de una celda de una lista o tabla basada en sus números de columna y fila.
Ejemplo Básico
Comenzaremos con una simple lista de elementos (columna A). Queremos que nuestra fórmula devuelva el tercer elemento de la lista.
=INDICE(A2:A5;D1)
Dentro de la función INDICE primero introducimos el array a buscar. Luego especificamos el número de fila del elemento que queremos.
Ejemplo de Tabla
Construyamos una tabla de multiplicación y demostremos cómo utilizar la función INDEX para devolver un elemento basado en el índice de fila / columna. Para obtener el resultado de 3 por 4 (y no sólo escribir la ecuación matemática), se podría escribir una fórmula de
=INDICE(B2:E5; 3; 4)
En este caso, le hemos dicho a la fórmula que vaya a la 3era fila dentro del rango especificado, y a la 4ta columna. Esto va a dar una referencia a la celda E4, y así obtenemos un valor de 12.
Ejemplo de Tabla – Texto
Podemos hacer lo mismo con valores de texto.
=INDICE(B2:D5; 3; 2)
En este caso, nuestra fórmula baja a la 3era fila (para el 3er trimestre) y a la 2da columna. Eso devuelve una referencia a C4 y el resultado de «Ago».
COINCIDIR con INDICE
La función INDICE se utiliza a menudo junto con la función COINCIDIR para crear una fórmula de búsqueda.
Veamos un ejemplo de libro de calificaciones en el que nuestro profesor quiere ser capaz de dar una asignatura y el nombre del estudiante y encontrar la calificación correspondiente. Nuestra fórmula es
=INDICE(B2:E5;COINCIDIR(H1;A2:A5;0);COINCIDIR(H2;B1:E1;0))
Hemos utilizado dos funciones COINCIDIR diferentes para devolver la posición relativa de cada uno de nuestros términos de búsqueda. La primera busca el valor de H1, «Lectura», en el rango de A2:A5. Lectura es el 3er elemento de la lista. Nuestro 2do COINCIDIR busca igualmente el valor de «Bob» en el rango B1:E1. Bob es el 2do elemento de la lista. Por lo tanto, nuestra fórmula se evaluará así
=INDICE(B2:E5;COINCIDIR(H1;A2:A5;0);COINCIDIR(H2;B1:E1;0))
=INDEX(B2:E5; 3; 2)
=C4
=89
Puede obtener más información sobre la fórmula INDICE / COINCIDIR haciendo clic en el enlace.
INDICE en Google Sheets
La función INDICE funciona exactamente igual en Google Sheets que en Excel:
Ejemplos de INDEX en VBA
También puede utilizar la función INDEX en VBA. Tipo:
application.worksheetfunction.index(array,row_num,column_num)
Nota: en VBA, se mantiene el nombre en inglés de la función INDICE, el cual es: INDEX.
Para los argumentos de la función (array, etc.), puede introducirlos directamente en la función, o definir variables para utilizarlos en su lugar.
Suponiendo que tenemos los siguientes datos en nuestra hoja de cálculo.
En este ejemplo hay dos tablas definidas, una tabla a la izquierda que se llama Tabla2 y a la derecha Tabla3 Podemos utilizar la función INDEX de la siguiente manera
WorksheetFunction.Index(Range("B2:F6"), 3, 3)
Esto devolverá 18 (Celda D4), porque es la celda situada en la tercera fila y tercera columna de nuestro rango definido B2:F6
WorksheetFunction.Index(Rango("Tabla2"), 2, 4)
Esto devolverá 51 (Celda E3), porque es la celda situada en la segunda fila y cuarta columna de la Tabla2
También podemos definir más de un rango, como se indica a continuación. Observa que esta vez utilizamos un parámetro más (el último «1»), que define el rango del que se debe devolver el valor
WorksheetFunction.Index(Rango("B2:F6,I4:M8"), 2, 5, 1)
Esto devolverá 36 (Celda F3), porque es la celda situada en la segunda fila y quinta columna de nuestro primer rango definido, que es la Tabla2
WorksheetFunction.Index(Rango("B2:F6,I2:M6"), 4, 3, 2)
Esto devolverá 115 (Celda K5), porque es la celda situada en la cuarta fila y tercera columna de nuestro segundo rango definido, que es I2:M6