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 numero de fila, pongo 1, y, omito el argumento numero 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 numero 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 numero 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 numero 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.
Comments