Indices con un rango igual o superior a 7
- Jaime Franco Jimenez
- 28 jul 2024
- 2 Min. de lectura
Tenemos los siguientes índices, y, unas clasificaciones en diferentes referencias.
Debemos de crear un reporte, o, informe con aquellos índices con un rango igual o inferior a 7 al menos en dos referencias.
En la celda J3, usamos la función BYROW, como argumento array, seleccionamos el rango B3:B17, como argumento función, ponemos LAMBDA, declaramos una variable, como argumento calculo de LAMBDA, ponemos la función SUMA, como argumento usamos el condicional SI, como argumento prueba lógica, preguntamos si la variable “X” es menor a 8, como argumento valor si verdadero, ponemos 1, como argumento valor si falso, ponemos blanco.
=BYROW(C3:H17;LAMBDA(x;SUMA(SI(x<8;1;""))))
Tenemos una matriz desbordada en vertical con un recuento de veces cuando un valor es menor a 8, por filas.
Después del signo igual, ponemos la función FILTRAR, como argumento matriz, seleccionamos el rango B3:B17, como argumento include, es la función BYROW, y, comparamos con mayor a 1.
=FILTRAR(B3:B17;BYROW(C3:H17;LAMBDA(x;SUMA(SI(x<8;1;""))))>1)
Aceptamos, y, ya lo tenemos.
Obtener valores menores a fecha anterior
Para el siguiente ejemplo, tenemos una columna, una serie de fechas, cada fecha tiene asignado un valor.
Debemos de crear un reporte, o, informe con fechas con pedidos menores a la fecha siguiente.
En la celda C2, usamos LET, creamos una variable, usamos la función AJUSTARCOLS, como argumento vector seleccionamos el rango A2:A21, como argumento wrap_count, ponemos 2, vamos a obtener una matriz desbordada de dos filas, donde en la primera fila, tenemos las fechas, y, en la segunda fila, los valores.
=LET(a;AJUSTARCOLS(A2:A21;2);a)
Creamos otra variable, usamos la función INDICE, como argumento matriz, ponemos la variable “a”, como argumento numero de fila, ponemos 2, como argumento numero de columna, usamos la función SECUENCIA, omitimos el argumento filas, como argumento columnas, usamos la función COLUMNAS, como argumento matriz de COLUMNAS, usamos la función TOMAR, como argumento matriz, ponemos la variable “a”, como argumento filas, ponemos 1, cerramos paréntesis, como argumento paso, ponemos 2, vamos a obtener una matriz desbordada en vertical, donde tomamos la fila 2 de la variable “a”, y, como columnas saltamos el primer valor, como vamos a obtener un valor menos, es la ultima celda, obtendremos un error.
Creamos otra variable, tomamos la ultima fila de a variable “a”, y, restamos con la variable “b”.
=LET(a;AJUSTARCOLS(A2:A21;2);b;INDICE(a;2;SECUENCIA(;COLUMNAS(TOMAR(a;1));2));c;TOMAR(a;-1)-b;c)
Vamos a obtener una matriz desbordada en horizontal con la resta de la ultima fila de la variable “a” menos la variable “b”.
Antes de la función TOMAR, usamos la función SI.ERROR, como argumento valor es la función TOMAR, como argumento valor si error, ponemos blanco.
=LET(a;AJUSTARCOLS(A2:A21;2);b;INDICE(a;2;SECUENCIA(;COLUMNAS(TOMAR(a;1));2));c;SI.ERROR(TOMAR(a;-1)-b;"");c)
Creamos otra variable, usamos la función FILTRAR, como argumento matriz, tomamos la primera fila de la variable “a”, como argumento include, comparamos la variable “c” con mayor a 0.
=LET(a;AJUSTARCOLS(A2:A21;2);b;INDICE(a;2;SECUENCIA(;COLUMNAS(TOMAR(a;1));2));c;SI.ERROR(TOMAR(a;-1)-b;"");d;FILTRAR(TOMAR(a;1);c<0);d)
Obtenemos las fechas cuyo valor en menor que la siguiente cantidad.
Antes de la función FILTRAR, usamos la función ENCOL.
=LET(a;AJUSTARCOLS(A2:A21;2);b;INDICE(a;2;SECUENCIA(;COLUMNAS(TOMAR(a;1));2));c;SI.ERROR(TOMAR(a;-1)-b;"");d;ENCOL(FILTRAR(TOMAR(a;1);c<0));d)
Aceptamos, y, ya lo tenemos.
Miguel Angel Franco
Comments