top of page
Foto del escritorJaime Franco Jimenez

Ejemplo de las funciones AGREGAR, SECUENCIA, e, INDICE

Para este ejemplo, seguimos trabajando con el modelo que suelo usar habitualmente. Dicho modelo esta en formato de tabla.










Lo primero, que quiero, es poner una letra, por ejemplo, la letra “s”, y, que me devuelva todas las provincias que contengan dicha letra.


Voy a usar la función EXTRAE, para encontrar la letra en la columna provincia, pero la pregunta, en el argumento posición inicial de la función EXTRAE, ¿Cuántos son los caracteres que he de extraer?


Pues, para ello, vamos a hacer uso de la función SECUENCIA, junto con la función LARGO, lo vamos a hacer en una celda aparte, para ver que función correctamente.


Entonces, escribo el signo igual, seguido de la función SECUENCIA, y, abro un paréntesis.


=SECUENCIA(


Como argumento fila, ponemos 1.


=SECUENCIA(1;


Como argumento columna, usamos la función LARGO aplicada a la celda B2.


=SECUENCIA(1;LARGO(B2);


Y, como argumento inicio, ponemos que empiece desde 1.


Cerramos paréntesis, y, aceptamos.


=SECUENCIA(1;LARGO(B2);1)


Tenemos una matriz desbordada con empezando desde el numero 1, hasta la última posición de la letra, en este caso, la provincia es Granada.




Vamos a usar la función SECUENCIA como el argumento posición inicial de la función EXTRAE.


Escribimos el signo igual, seguido de la función EXTRAE, y, abrimos un paréntesis.


=EXTRAE(


Como argumento texto, señalamos la columna de provincia.


=EXTRAE(Table1[Provincia];


Como argumento posición inicial, ponemos la función SECUENCIA.


=EXTRAE(Table1[Provincia];SECUENCIA(1;LARGO(B2);1);


Y como argumento numero de caracteres, ponemos 1, cerramos paréntesis, y, aceptamos.


=EXTRAE(Table1[Provincia];SECUENCIA(1;LARGO(B2);1);1)


Obtenemos una matriz desbordada, con las provincias, pero, en cada celda aparece cada letra de la provincia.







Lo siguiente va a ser preguntar, con el condicional SI, que si una de las letras, es igual, por ejemplo, a la letra “s”, que me devuelva la fila, en caso contrario, que devuelva un texto en blanco.


=SI(EXTRAE(Table1[Provincia];SECUENCIA(1;LARGO(B2);1);1)="s";FILA(Table1[Provincia]);"")


Tenemos una matriz desbordada con las filas donde la letra “s”, se encuentra dentro de las provincias.


Como matriz desbordada que es, donde no hay coincidencia, nos pone un texto en blanco, que es lo que le dijimos, pero esos espacios en blanco nos van a estorbar, porque queremos que aparezcan los números de filas de forma secuencial, sin espacios en blanco.


Para solventar este problema, vamos a usar la función K.ESIMO.MENOR, para ir obteniendo cada valor menor, pero lo haremos a través de la función AGREGAR, donde podemos ignorar celdas vacías, que es lo que nos interesa.


Pues, escribimos el signo igual, seguido de la función AGREGAR, y, abrimos un paréntesis, se abre una ventana para elegir la operación, pues, elegimos K.ESIMO.MENOR.
















Punto y coma, en la siguiente ventana, señalamos omitir filas ocultas.










Punto y coma, el argumento matriz, es la función anterior.


=AGREGAR(15;5;SI(EXTRAE(Table1[Provincia];SECUENCIA(1;LARGO(B2);1);1)="s";FILA(Table1[Provincia]);"")


Punto y coma, como argumento K de la función K.ESIMO.MENOR, vamos a poner el total de filas, así no tendremos problemas, pero, lo haremos con la función SECUENCIA, para que nos genere una matriz en vertical desde el numero 1.


Cerramos paréntesis, y, aceptamos.


=AGREGAR(15;5;SI(EXTRAE(Table1[Provincia];SECUENCIA(1;LARGO(B2);1);1)="s";FILA(Table1[Provincia]);"");SECUENCIA(1476))


Pues, ya tenemos los números de filas de las provincias que contienen la letra “s”.












Lo siguiente es usar la función INDICE, para extraer el valor de la columna provincia, donde la expresión anterior, es el argumento número de fila.


La tenemos las provincias, pero repetidas, pues después del signo igual, usamos la función UNICOS.


=UNICOS(INDICE(B:B;AGREGAR(15;5;SI(EXTRAE(Table1[Provincia];SECUENCIA(1;LARGO(B2);1);1)="s";FILA(Table1[Provincia]);"");SECUENCIA(1476))))








Vemos que aparece al final un error, pues vamos a usar la función SI.ERROR, para que ponga un texto en blanco.


=SI.ERROR(UNICOS(INDICE(B:B;AGREGAR(15;5;SI(EXTRAE(Table1[Provincia];SECUENCIA(1;LARGO(B2);1);1)="s";FILA(Table1[Provincia]);"");SECUENCIA(1476))));"")


Ya tenemos hecho el primer paso.


Lo siguiente es calcular el total para cada provincia, para ello, vamos a usar la función SUMAR.SI.


=SUMAR.SI(Table13[Provincia];I11#;Table13[Total])







Lo siguiente va a ser calcular el total mayor vendido para cada provincia, para ello, vamos a usar la función MAX.SI.CONJUNTO.


El primer argumento es rango máximo, que será la columna de total.


=MAX.SI.CONJUNTO(Table13[Total];


El siguiente argumento es rango criterios, que es la columna de provincias.


=MAX.SI.CONJUNTO(Table13[Total];Table13[Provincia];


El ultimo argumento es criterio, donde escribimos la referencia a celda, seguido del operador de rango derramado (#), para que así sea dinámico.


Cerramos paréntesis, y, aceptamos.


=MAX.SI.CONJUNTO(Table13[Total];Table13[Provincia];I11#)


Ya tenemos el total de cada provincia, si ponemos otra letra, veremos como también aparecen los totales, gracias al operador de rango derramado.







Lo siguiente que queremos es que nos devuelva la fecha de ese total.


En este caso voy a usar la función BUSCARX, donde el argumento valor buscado, será la celda K11, junto con el operador de rango derramado, el argumento matriz donde buscar, es la columna de total, y, como argumento matriz devuelta, es la columna de fecha.


Sería como sigue:


=BUSCARX(K11#;Table13[Total];Table13[Fecha])


Ya lo tenemos.









12 visualizaciones0 comentarios

Entradas Recientes

Ver todo

Comments


bottom of page