Veamos la función INDICE.
Devuelve el valor de un elemento de una tabla o matriz, indicándoles el número de fila y columna.
Sintaxis
INDICE(matriz; núm_fila; [núm_columna])
· Matriz. Obligatorio. Es el rango de celdas donde vamos a dirigirnos.
Si el argumento matriz contiene solo una fila o columna, el argumento num_columna es opcional, si no se especifica toma el valor 1 como predeterminado.
· Num_fila. Obligatorio, indica la fila donde nos vamos a posicionar si num_fila se omite, num_columna es necesario.
· Num_columna. Opcional. indica la columna de la matriz desde la cual devolverá un valor.
Si usamos los argumentos num_fila y num_columna, INDICE devuelve el valor de la celda en la intersección de la fila y columna especificada.
Por supuesto, siempre num_fila y num_columna deben apuntar a una celda que este dentro de la matriz; de lo contrario, INDICE devuelve un #REF!.
Veamos algunos ejemplos.
Teniendo el siguiente modelo de datos.
Si le indicamos que vaya a la fila 2, y, columna 2, a partir de la matriz B6:G15, me devuelve El corte inglés, hay que tener en cuenta de que, si partimos de la celda B6, y le decimos que baje dos filas, en la celda donde estamos, es decir, en B6, es la primera fila para moverse.
=INDICE(B6:G15;2;2)
Pero, queremos algo más complicado, es decir, elegir una provincia, y, un producto y que me devuelva el total.
Para ello, debemos de usar la función COINCIDIR, pero por dos veces, una para saber la fila y otra para saber la columna.
Vamos a crear dos listas desplegables, una para elegir la provincia, y, otra uno de los siguientes encabezados.
En la celda B3, creamos la lista desplegable para seleccionar una provincia, para ello, vamos a la pestaña de datos, dentro de obtener y transformar datos, hacemos clic en validación de datos
Desplegamos permitir y seleccionamos lista, en la ventana origen, seleccionamos las provincias.
Aceptamos, seguimos los pasos anteriores, y, creamos una segunda lista para seleccionar uno de los encabezados anteriores.
En este caso, queremos que nos devuelva el precio para la provincia de Sevilla.
Vamos a usemos el primer coincidir para calcular la fila de la provincia, como argumento valor buscado, es la celda B3, que es la provincia seleccionada.
=COINCIDIR(B3
Punto y coma, como argumento matriz buscada, seleccionamos el rango B7:B15, donde tenemos las provincias.
=COINCIDIR(B3;B7:B15
Punto y coma, como argumento tipo de coincidencia, seleccionamos exacta.
Cerramos paréntesis.
=COINCIDIR(B3;B7:B15;0)
Aceptamos, y, nos devuelve la fila 4.
Repetimos el paso anterior, pero para calcular la columna, la sintaxis quedaría de la siguiente manera:
==COINCIDIR(C3;B6:G6;0)
Nos devuelve la columna 5.
Pues, ya tenemos el argumento numero de fila, y, numero de columna de INDICE.
En la celda D3, ponemos INDICE, como argumento matriz, seleccionamos el rango B7:G15, el cual no incluye los encabezados.
=INDICE(B7:G15
Punto y coma, como argumento numero de fila, es la función COINCIDIR que usamos para calcular la fila.
=INDICE(B7:G15;COINCIDIR(B3;B7:B15;0)
Punto y coma, como argumento numero de columna, es la función COINCIDR que usamos para el cálculo de la columna.
Cerramos paréntesis.
Vemos que nos devuelve 100.
Si cambiamos de encabezado, y, de provincia veremos que tenemos el resultado correcto.
El siguiente ejercicio, es seleccionar un producto, y, que nos devuelva las provincias donde dicho producto fue vendido.
Tenemos los productos únicos.
En la celda B17, creamos una lista desplegable con los productos únicos.
Aceptamos, seleccionamos un producto, por ejemplo, ordenadores.
Con el condicional SI, preguntamos que, si el valor de la celda D7 es igual al valor de la celda B17, la cual fijamos, para que al copiar no se actualice la referencia, en ese caso, debe de devolver la fila de D7, en caso contrario, debe de devolver un texto en blanco.
=SI(D7=$B$17;FILA(D7);"")
Aceptamos, y, en la celda D7, no tenemos ordenadores.
Arrastramos, y, donde hay coincidencia, vemos el numero de fila, que es el argumento numero de fila de INDICE.
Ahora, usamos INDICE donde como argumento matriz, es la columna B, porque tenemos el numero de fila real a rescatar.
=INDICE(B:B
Punto y coma, como argumento numero de fila, es el condicional SI, y, omitimos el argumento número de columna, y, de forma predeterminada pondrá 1 columna.
Cerramos paréntesis.
=INDICE(B:B;SI(D7=$B$17;FILA(D7);""))
Aceptamos, y, arrastramos.
Vemos que donde hay coincidencia aparece la provincia, y, donde no hay coincidencia, aparece un error.
Vamos a usar SI.ERROR, donde como argumento valor es la expresión anterior.
=SI.ERROR(INDICE(B:B;SI(D7=$B$17;FILA(D7);""))
Y, como argumento valor si error, ponemos un texto en blanco.
=SI.ERROR(INDICE(B:B;SI(D7=$B$17;FILA(D7);""));"")
Aceptamos, arrastramos, y, donde no hay coincidencia, ahora aparece un blanco.
Para el siguiente ejemplo, tenemos un modelo de datos, donde en vertical tenemos centros comerciales, y, en horizontal, tenemos diversos años.
Queremos seleccionar un centro, y, un año, y, que, dentro del modelo, aparezca de otro color el total para ambas condiciones, además de obtener dicho total.
En la celda B2, vamos a crear una lista desplegable para poder seleccionar un centro.
En la celda D2, creamos otra lista desplegable para poder seleccionar un año.
Seleccionamos un centro, y, un año.
Empecemos calculando el total, en este caso, para Metromar y el año 2019.
Lo haremos en la celda F2, igual que antes, vamos a usar COINCIDR para encontrar la fila.
=COINCIDIR(B2;A5:A10;0)
Y para encontrar la columna.
COINCIDIR(D2;B4:F4;0)
Ya tenemos el argumento numero de fila, y, de columna, pues ponemos INDICE, donde como argumento array es desde B5 a F10.
=INDICE(B5:F10
Punto y coma, los argumentos números de fila y de columna ya lo tenemos.
Cerramos paréntesis.
=INDICE(B5:F10;COINCIDIR(B2;A5:A10;0);COINCIDIR(D2;B4:F4;0))
Aceptamos, y, ya tenemos el total para los datos seleccionados, si cambiamos veremos como dicho total se actualiza.
Lo siguiente es crear la regla para usar en formato condicional, la función INDICE a usar es la misma que para el caso anterior, pero, debemos de fijar B5:F10, B2, A5:A10, D2, y, B4:F4.
=INDICE($B$5:$F$10;COINCIDIR($B$2;$A$5:$A$10;0);COINCIDIR($D$2;$B$4:$F$4;0))
Ahora, vamos a usar el operador lógico Y, que nos devolverá VEDADERO si la condición, o, condiciones que usemos se cumplen.
Vamos a preguntar que, si la expresión anterior es igual al valor de la celda B5, B5 contiene el primer total del modelo, es decir, el total para C.C. Nervión y año 2018, en otras palabras, estamos buscando el total obtenido dentro del modelo.
=Y(INDICE($B$5:$F$10;COINCIDIR($B$2;$A$5:$A$10;0);COINCIDIR($D$2;$B$4:$F$4;0))=B5)
Seleccionamos la función, pulsamos CTRL mas C para copiar, seleccionamos el mismo numero de filas y columnas que la del modelo, y, pulsamos CTRL más V para pegar.
Obtenemos FALSO donde no hay coincidencia, y, VERDADERO donde si la hay, solo debe de haber un VERDADERO.
Esta expresión, si la podemos usar dentro de una regla de formato condicional, porque devuelve VERDADERO o FALSO.
La seleccionamos, y, pulsamos CTRL mas C para copiar.
Seleccionamos los datos del modelo.
Desplegamos formato condicional, y, seleccionamos nueva regla, en la ventana de formula, pegamos la expresión, y, damos un formato.
Aceptamos, y, podemos ver como queda resaltada la celda que coincide con el total calculado.
Ejemplo de INDICE y AGREGAR
Vamos a ver un ejemplo de la función INDICE junto con AGREGAR.
Anteriormente, hemos visto un ejemplo de la función INDICE junto con COINCIDIR.
Bien, tenemos una serie de provincias con algunas de sus localidades, junto con un total.
En una celda vamos a poner una provincia, y, queremos ver las localidades que pertenecen a esa localidad.
En la celda E2, vamos a crear una lista desplegable con las tres provincias que tenemos, para ello, vamos a la pestaña de datos, hacemos clic en validación de datos, en la ventana que se abre, desplegamos permitir, y, elegimos lista, y, en origen, escribimos las tres provincias.
Seleccionamos, por ejemplo, Huelva.
Queremos ver las localidades de Huelva.
Pues, empezamos el ejercicio.
Tenemos que decir, que, para encontrar las localidades de una provincia, debemos de saber su posición, para usarlo con la función INDICE, porque ya sabemos que a la función INDICE, hay que indicarle el número de fila y de columna.
Por ejemplo, si escribo el signo igual, seguido de la función INDICE, abro un paréntesis, selecciono el rango donde nos vamos a mover, que es el rango de localidades, que es el argumento array.
=INDICE(B2:B10
Punto y coma, el siguiente argumento es número de fila, vamos a poner que nos devuelva la fila 2 dentro del rango, que es la primera localidad de Huelva, y, como argumento número de columna, ponemos 1.
=INDICE(B2:B10;2;1)
Aceptamos, y, tenemos la primera localidad de Huelva.
Antes de arrastrar fijo el rango de las localidades.
=INDICE($B$2:$B$10;2;1)
Y ahora, debo de ir cambiando el argumento número de fila para que me devuelva la siguiente localidad de Huelva.
Pues, ahora, lo vamos a hacer con INDICE y AGREGAR.
La función AGREGAR va a ser el argumento número de fila de la función INDICE.
Lo vamos a hacer en una celda aparte, y, cuando veamos que funciona, usaremos la función INDICE.
Pues, para encontrar las posiciones, vamos a usar la función AGREGAR.
Escribimos el signo igual, seguido del nombre de la función, y, abrimos un paréntesis.
=AGREGAR(
Se abre una ventana donde debemos de seleccionar una operación.
En este caso, vamos a seleccionar K.ESIMO.MENOR, que nos va a devolver el valor más pequeño que le indiquemos, pues, la seleccionamos, que es el número 15, y, tabulamos.
Punto y coma, y, omitimos valores de error.
Punto y coma, y, seleccionamos el rango de donde vamos a sacar el valor más pequeño, que es provincias.
Punto y coma, ahora, debemos de rellenar el argumento K de K.ESIMO,MENOR, que es el número menor que queremos que nos devuelva, pues ponemos 1.
=AGREGAR(15;6;A2:A10;1)
Aceptamos.
Vemos que nos devuelve un error, cosa que es correcto, porque queremos que nos devuelva el primer valor menor dentro de un rango donde hay texto.
Si cambiamos A2:A10, por C2:C10, veremos cómo nos devuelve el primer valor menor, porque el rango es número.
Pero, tenemos que hacerlo con el rango de provincias, por lo que vamos a ello.
Vamos a realizar la función AGREGAR en una nueva celda, cuando veamos que funciona, lo insertaremos dentro de la función INDICE, como argumento número de fila.
Escribimos el signo igual, seguido de la función, y, abrimos un paréntesis.
Se abre la ventana donde tenemos que elegir qué operación vamos a realizar, que es la función K,ESIMO,MENOR, que es el número 15, pues la seleccionamos y pulsamos tabular.
Punto y coma, e, ignoramos valores, de error.
Punto y coma, abrimos un paréntesis, y, como argumento array de la función K.ESIMO.MEMOR, seleccionamos las provincias.
Escribimos el signo igual, y señalamos la celda con la provincia.
Cerramos el paréntesis, y, ponemos las referencias en absoluta.
Es decir, vamos a comparar cada provincia del rango de provincias con la provincia seleccionada.
=AGREGAR(15;6;($A$2:$A$10=$F$2)
Lo siguiente va a ser ver los resultados de la fórmula que acabamos de escribir.
Para ello, seleccionamos la formula.
Y pulsamos F9.
Vemos que aparecen VERDADEROS, y, FALSOS.
Aparece verdadero cuando la provincia, en este caso, es Huelva, y, falso cuando no lo es.
Lo siguiente va a ser deshacernos de los valores falsos.
Ya sabemos que verdadero es uno, y, falso es cero.
Pulsamos CTRL-Z para deshacer.
Bien, si divido los resultados obtenidos entre sí mismo, obtendremos un error cuando la división sea por cero, y, un uno cuando sea por 1.
=AGREGAR(15;6;($A$2:$A$10=$E$2)/($A$2:$A$10=$E$2)
Vamos a seleccionar la formula, y, volvemos a pulsar F9 para ver los resultados.
Podemos ver los resultados que hemos dicho anteriormente, error cuando la división es por cero, y, uno cuando la división es por uno.
Pero, lo que queremos es que cuando la división sea uno, nos devuelva la posición, en otras palabras, viendo el modelo queremos que en el primer uno aparezca 3, que es la posición de la primera localidad de Huelva, y, así con las siguientes.
¿Qué ocurre si multiplico los unos devuelto por el número de fila, pues, me va a devolver la fila, entonces, a la formula anterior lo vamos a multiplicar por la fila, para ello, usamos la función FILA?
=AGREGAR(15;6;($A$2:$A$10=$E$2)/($A$2:$A$10=$E$2)*(FILA(A2:A10))
Seleccionamos la fórmula que hemos seleccionado anteriormente, junto con la función FILA, y, pulsamos F9.
Y vemos en los valores verdaderos los números de filas que pertenecen a la provincia de Huelva.
Lo siguiente es el argumento K de la función K.ESIMO.MENOR, que es el valor más pequeño que queremos que nos devuelva.
Ponemos, de momento, 1.
=AGREGAR(15;6;($A$2:$A$10=$E$2)/($A$2:$A$10=$E$2)*(FILA(A2:A10));1)
Pues nos devuelve 3, que es primer elemento menor de los tres valores obtenidos, que son el 3, 6, y 10.
Si ahora arrastro, me devolverá el mismo valor, porque tenemos que cambiar el argumento K a dos para que nos devuelva el segundo elemento menor que es el seis.
Para solventar este problema, podemos crear un índice, pues, lo vamos a hacer, pero ¿Cuántos elementos debe de tener este índice?
Esto lo podemos de saber usando la función CONTAR.SI junto con la función matricial SECUENCIA.
Voy a usar la función CONTAR.SI para contar las veces que aparece la provincia seleccionada en el rango de provincias.
En este caso, teniendo la provincia de Huelva seleccionada, nos devuelve 3.
Ahora, con la función SECUENCIA vamos a crear una matriz derramada, el primer argumento de esta función es el número de filas, pues este número va a ser el resultado de la función CONTAR.SI, y, como columna ponemos 1.
=SECUENCIA(CONTAR.SI(A2:A10;F2);1)
Pues este va a ser el argumento K de la función K.ESIMO.MENOR.
Vemos como tenemos las posiciones de la provincia seleccionada.
Pues, ya tenemos el argumento número de fila de la función INDICE.
Ejemplo de INDICE junto con SUMAPRODUCTO
Vamos a ver un ejemplo de la función INDICE junto con la función SUMAPRODUCTO, donde usaremos la función SUMAPRODUCTO como argumento número de columnas de la función INDICE.
Bien, tenemos el siguiente modelo.
Queremos seleccionar un producto, y, que nos devuelva el nombre del encabezado, por ejemplo, si elijo tomates, me debe de devolver el encabezado Producto2.
Pues vamos a ello.
Lo primero que voy a hacer es usar la función SUMAPRODUCTO para encontrar el valor buscado.
Escribimos el signo igual, seguido del nombre de la función, y, abrimos un paréntesis.
=SUMAPRODUCTO(
Abrimos otro paréntesis, donde seleccionamos el rango de productos, ponemos el signo igual, seguido del producto a buscar, y, cerramos el paréntesis.
=SUMAPRODUCTO((B5:D8="Galletas"))
Aceptamos, y, vemos que nos devuelve cero.
Seleccionamos la condición.
Pulsamos F9.
Vemos que aparecen verdaderos o falsos, aparece verdadero donde ha encontrado coincidencia.
Pero con estos valores, no podemos usarlo como argumento numero de columna de la función INDICE, porque es texto, debemos de convertirlo en número.
Pues para ello, antes de la apertura del paréntesis de la condición ponemos dos veces el signo de menos.
El doble signo negativo, va a convertir valores booleanos en ceros o unos, cero para falso, y, 1 para verdadero.
=SUMAPRODUCTO(--(B5:D8="Galletas"))
Seleccionamos la condición mas el doble signo negativo, y, pulsamos F9.
Vemos que ahora aparecen ceros y unos.
Cero donde el valor es falso y 1 donde es verdadero.
Pulsamos CTRL + C para copiar.
En una celda, escribimos el signo igual y pegamos.
Tenemos una matriz desbordada con dichos ceros y unos, donde podemos ver que el uno aparece donde se encuentra el producto buscado.
Lo siguiente es después de la condición, ponemos el símbolo de asterisco, abrimos un paréntesis, para poner otra condición, donde vamos a usar la función columna, para que nos devuelva la columna, y, seleccionamos las columnas de los encabezados.
=SUMAPRODUCTO(--(B5:D8="Galletas")*COLUMNA(B4:D4))
Seleccionamos la función de columna.
Pulsamos F9.
Vemos que aparecen las tres columnas.
Ahora, seleccionamos la condición y la función columna, y, pulsamos F9.
Vemos que nos devuelve 2, que es la columna donde se encuentra el producto buscado.
Pues ya tenemos el argumento numero de columnas de la función INDICE.
La sintaxis seria:
=INDICE(A:D;4;SUMAPRODUCTO(--(B5:D8="Cereales")*COLUMNA(B4:D4)))
Aceptamos, y, tenemos el nombre del encabezado al que pertenece el producto seleccionado.
Pero veamos cómo funciona esta función internamente.
Seleccionamos la celda donde tenemos la función.
Vamos a la pestaña formulas.
Dentro del grupo auditoria de fórmulas.
Hacemos clic en evaluar formula.
Vemos que aparece señalado la primera condición.
Hacemos clic en evaluar.
Vemos como aparecen verdaderos y falsos, vemos un solo verdadero que es la coincidencia.
Clic en evaluar.
Ahora, queda señalado la función columna.
Clic en evaluar.
Los verdaderos y falsos se han convertidos en ceros y unos, además, aparecen los números de columnas.
Clic en evaluar.
Ahora, vemos ceros donde no hay coincidencia, y, en vez de 1, aparece el numero 4, que es la columna de donde hay coincidencia.
Clic en evaluar.
Vemos la función INDICE, donde el numero 4, aparece como argumento numero de columna de la función INDICE.
Clic en evaluar.
Vemos el nombre del encabezado.
Veamos otro ejemplo, siguiendo el mismo procedimiento.
Tenemos el siguiente modelo.
También, queremos seleccionado un elemento, y, una cantidad, queremos saber el nombre del pasillo.
Pues vamos a empezar con la función SUMAPRODUCTO, para el argumento numero de columnas de la función INDICE.
Escribimos el signo igual, seguido del nombre de la función y abrimos un paréntesis.
SUMAPRODUCTO(
Abrimos otro paréntesis, y, ponemos la primera condición, donde seleccionamos el rango de números, escribimos el signo igual, y, señalamos la celda donde tenemos el número.
SUMAPRODUCTO((C4:G7=C10))
Seleccionamos la condición, y, pulsamos F9.
Vemos que igual que antes, aparecen verdaderos y falsos, en este caso, como el numero buscado aparece mas de una vez, tenemos más verdaderos.
Deshacemos.
Ponemos el doble signo negativo delante de la condición.
Seleccionamos, y, pulsamos F9.
Ahora, vemos uno donde había verdadero, y, cero donde había falso.
Copiamos los ceros y unos con CTRL mas C, y, en una celda, ponemos el signo igual, y, pegamos.
Vemos los 1 donde está el valor buscado.
Vamos a añadir la siguiente condición, que es el elemento.
=SUMAPRODUCTO((C4:G7=C10)*(B4:B7=C9))
Seleccionamos ambas condiciones, y, pulsamos F9, y, vemos que ahora solo aparece un 1, que es donde coincide el número y elemento buscado.
Lo vamos a copiar y lo pegamos en una celda.
Igual que antes, ponemos la siguiente condición, con la función columna.
=SUMAPRODUCTO(--(C4:G7=C10)*(B4:B7=C9)*COLUMNA(C3:G3))
Pues, ya tenemos el argumento número de columna de la función INDICE.
Pues pongamos la función INDICE.
=INDICE(A:G;3;SUMAPRODUCTO(--(C4:G7=C10)*(B4:B7=C9)*COLUMNA(C3:G3)))
Aceptamos, y, ya tenemos el nombre del encabezado al que pertenece el elemento y valor buscado.
Con esto ya tenemos nuestro ejemplo resuelto.
Obtener lista única con las funciones INDICE, BUSCARV, TEXTO, y, COINCIDIR.
Tenemos las siguientes provincias, las cuales se repiten, este modelo, está en formato de tabla, y, se llama datos.
Queremos conseguir una lista única de provincias, que lo haremos con las funciones INDICE, BUSCARV, ESTEXTO, y, COINCIDIR.
Si uso la función INDICE, donde como argumento matriz, selecciono la columna de provincia, como argumento número de fila, pongo 1, y, omito el argumento número de columna, por lo cual, usara el valor 1.
=INDICE(Datos[Provincia];1)
Obtengo la primera provincia, siendo única, ya que es el primer valor.
Voy a usar la función BUSCARV, para que me encuentre Granada, en la columna provincia, para ello, escribo el signo igual, seguido de BUSCARV, y, abro un paréntesis.
=BUSCARV(
Como argumento valor buscado, debería de poner el valor de la celda C4, donde se encuentra Granada, y, que lo busque en la columna de provincia, pero lo voy a hacer, al revés, es decir, como argumento valor buscado, va a ser la columna provincia, y, como argumento matriz_tabla, va a ser el valor de la celda C4, es decir, Granada.
=BUSCARV(Datos[Provincia];C4;
Como argumento, numero de columna, ponemos 1, y, como tipo de coincidencia, seleccionamos exacta.
=BUSCARV(Datos[Provincia];C4;1;FALSO
Cerramos paréntesis, y, aceptamos.
=BUSCARV(Datos[Provincia];C4;1;FALSO)
Obtenemos una matriz desbordada, con los valores de Granada, donde hay coincidencia, y, error donde no la hay.
Al principio, hemos puesto la función INDICE, donde como argumento, numero de fila, hemos puesto 1.
Queremos que este ejemplo, sea dinámico, es decir, que, si añadimos, o, eliminamos provincias, el modelo se actualice, pues los pasos que vamos a dar, incluida ya, la función BUSCARV, es para que ese argumento número de fila, se convierta en dinámico.
Seguimos con la función BUSCARV, vemos que obtenemos texto, pero debemos de convertirlo en números, para poder ser usado, como argumento número de fila, dentro de la función INDICE.
Tenemos una función llamada, ESTEXTO, la cual devuelve VERDADERO, si el valor de la celda es texto, y, FALSO, si el valor de la celda, no lo es, pues después del signo igual, ponemos la función ESTEXTO.
=ESTEXTO(BUSCARV(Datos[Provincia];C4;1;FALSO))
Ahora, tenemos una matriz desbordada, con VERDADEROS, y FALSOS.
Pero, siguen sin ser números, pues, vamos a usar el doble signo negativo, que convierte VERDADERO en 1, y, FALSO en cero, pues, después del signo igual, ponemos el doble signo negativo, abrimos un paréntesis, porque vamos a englobar la función anterior, y, cerramos el paréntesis.
=--(ESTEXTO(BUSCARV(Datos[Provincia];C4;1;FALSO)))
Ahora, tenemos 1 donde es Granada, y, 0, donde no lo es, como una matriz desbordada.
Lo siguiente que voy a hacer, es buscar el valor cero, dentro de la función anterior, para ello, usamos la función COINCIDIR, donde como argumento valor buscado, ponemos cero, la matriz es la función anterior, y, una coincidencia exacta.
=COINCIDIR(0;--(ESTEXTO(BUSCARV(Datos[Provincia];C4;1;FALSO)));0)
Como resultado, obtengo el número 2, que es la siguiente provincia, porque primero, tenemos un 1, que corresponde a Granada, el siguiente valor es cero, porque no corresponde a Granada.
Lo bueno de usar la función COINCIDIR, es que cuando encuentra la primera coincidencia, se para, no sigue buscando, es decir, no nos va a devolver la posición de todos los valores ceros, y, de momento, lo que necesitamos en la siguiente posición.
Estamos buscando en C4, pero buscar en C4, no nos vale, porque entonces, debemos de tener dos columnas, y, queremos una sola columna, bien, si en la función BUSCARV, en vez de C4, pongo la matriz E3:E3, donde fijo la primera referencia E3, de la siguiente manera:
=COINCIDIR(0;--(ESTEXTO(BUSCARV(Datos[Provincia];$E$3:E3;1;FALSO)));0)
Obtengo como resultado el número 1, ¿Por qué?, pues, BUSCARV, no va a encontrar un blanco, dentro de la columna de provincia, lo que devolverá el numero cero, y, como con la función COINCIDIR, estamos buscando el numero cero, pues nos dice que se encuentra en la posición 1, que es la posición de la provincia de Granada, si arrastro, todas las celdas contendrán el número 1, pues, vamos a usar la función anterior, como argumento numero de fila de la función INDICE, quedaría:
=INDICE(Datos[Provincia];COINCIDIR(0;--(ESTEXTO(BUSCARV(Datos[Provincia];$E$3:E3;1;FALSO)));0))
Obtengo Granada, vamos a arrastrar una vez, vemos, que obtenemos la provincia de Madrid.
¿Por qué?
Si nos fijamos en la función BUSCARV, en el argumento matriz_tabla, hemos puesto el rango E3:E3, donde hemos fijado la primera referencia E3, pues, vamos a echar un vistazo a la segunda función, aun sin la función INDICE.
=COINCIDIR(0;--(ESTEXTO(BUSCARV(Datos[Provincia];$E$3:E4;1;FALSO)));0)
Vemos que ahora pone, desde, E3 hasta E4, ¿Qué hay en E3?, pues nada, y, ¿en E4?, pues tenemos Granada, entonces, la función BUSCARV, está buscando todos los valores de la columna provincia, que coincida con Granada, encuentra una coincidencia, en la primera celda (A2), es decir, la función BUSCARV, nos devuelve 1, pero la siguiente, no tiene coincidencia, es decir, es cero, que lo encuentra la función COINCIDIR, y, nos devuelve su posición, que es 2, pues es el argumento, numero de fila, de la función INDICE, por lo que obtenemos la provincia de Madrid.
Si arrastramos una sola vez, obtenemos la provincia de Toledo, echemos un vistazo a la función.
=INDICE(Datos[Provincia];COINCIDIR(0;--(ESTEXTO(BUSCARV(Datos[Provincia];$E$3:E5;1;FALSO)));0))
Ahora, esta buscando todas las provincias de la columna provincia, que sean iguales a los valores desde E3 a E5, en esas celdas tenemos los siguientes valores.
Traduciendo la función BUSCARV, nos devolvería 1, 1, 1, y, 0.
Y, como la función CONCIDIR, tiene que encontrar el valor de cero, pues lo encuentra en la posición 4, que es la provincia de Toledo.
Así funciones con el resto.
Vamos a arrastrar hacia abajo, y, vemos las provincias únicas, y, donde ya no hay más provincias únicas, nos aparece un error.
Vamos a usar la función SI.ERROR, y, ponemos un texto en blanco, donde haya error.
Pues, ya tenemos nuestras provincias únicas.
Terminamos aquí nuestro ejemplo.
Miguel Angel Franco Garcia
Comentários