Ordenar por edad y genero
- Jaime Franco Jimenez

- 8 nov 2023
- 1 Min. de lectura
Actualizado: 11 nov 2023
Tenemos una columna con edades y otra columna con femenino y masculino.

Debemos de crear un recuento con las siguientes condiciones.

El modelo debe de quedar como sigue:

En la celda F2, usamos LET, creamos una variable, usamos la funcion TEXTOANTES, como argumento texto, seleccionamos el rango E2:E9, como argumento delimitador, entre comillas dobles, ponemos un guion medio.
=LET(a;TEXTOANTES(E2:E9;"-");a)
Obtenemos las cantidades antes del delimitador, y, error donde no hay nada que separar.

Antes de TEXTOANTES, entre comillas dobles, ponemos >=, y, concatenamos con la funcion TEXTOANTES.
=LET(a;">="&TEXTOANTES(E2:E9;"-");a)

Antes de la funcion TEXTOANTES, usamos la funcion SI.ERROR, en caso de que la expresión nos devuelva un error, que nos devuelva el rango E2:E9.
=LET(a;SI.ERROR(">="&TEXTOANTES(E2:E9;"-");E2:E9);a)
Donde hay error obtenemos <20 y >80.

Creamos otra variable, donde la expresión es la misma, pero, cambiamos la funcion TEXTOANTES por TEXTODESPUES, y, el signo de comparación mayor, por el signo de comparación menor.
=LET(a;SI.ERROR(">="&TEXTOANTES(E2:E9;"-");E2:E9);b;SI.ERROR("<="&TEXTODESPUES(E2:E9;"-");E2:E9);b)
Obtenemos las cantidades después del delimitador con el signo de comparación menor o igual.

Creamos otra variable, usamos la funcion ENFILA, como argumento matriz, usamos la funcion UNICOS, como argumento matriz, seleccionamos el rango B2:B10001, vamos a obtener en horizontal masculino, y, femenino.
=LET(a;SI.ERROR(">="&TEXTOANTES(E2:E9;"-");E2:E9);b;SI.ERROR("<="&TEXTODESPUES(E2:E9;"-");E2:E9);c;ENFILA(UNICOS(B2:B10001));c)

Creamos otra variable, usamos la funcion CONTAR.SI.CONJUNTO, como argumento rango criterios1, seleccionamos el rango A2:A10001, como argumento criterio1, ponemos la variable “a”, como argumento rango de criterios2, seleccionamos el rango A2:A10001, como argumento criterio2, ponemos la variable “b”, como argumento rango criterios3, seleccionamos el rango B2:B10001, como argumento criterio3, ponemos la variable “c”.
=LET(a;SI.ERROR(">="&TEXTOANTES(E2:E9;"-");E2:E9);b;SI.ERROR("<="&TEXTODESPUES(E2:E9;"-");E2:E9);c;ENFILA(UNICOS(B2:B10001));d;CONTAR.SI.CONJUNTO(A2:A10001;a;A2:A10001;b;B2:B10001;c);d)
Ya tenemos el recuento para ambos sexos.

Como argumento calculo de LET, usamos APILARV, como argumento matriz1, ponemos la variable “c”, como argumento matriz2, ponemos la variable “d”.
=LET(a;SI.ERROR(">="&TEXTOANTES(E2:E9;"-");E2:E9);b;SI.ERROR("<="&TEXTODESPUES(E2:E9;"-");E2:E9);c;ENFILA(UNICOS(B2:B10001));d;CONTAR.SI.CONJUNTO(A2:A10001;a;A2:A10001;b;B2:B10001;c);APILARV(c;d))
Aceptamos, y, ya lo tenemos.

Miguel Angel Franco




Comentarios