top of page
Foto del escritorJaime Franco Jimenez

Fechas ANTES y DESPUÉS NUEVO PEDIDO

Tenemos las siguientes fechas de ventas, donde vemos una serie de órdenes.

Debemos de obtener las fechas antes, y, después de una nueva orden.


En la celda D4, creamos una variable, y, seleccionamos el rango B4:B20.


=LET(xx;B4:B20

 

Creamos otra variable, usamos el condicional SI, como argumento prueba lógica, preguntamos si la variable “xx” es igual a la celda B10 (NUEVA ORDEN), como argumento valor si verdadero, que nos devuelva la fila de la variable “xx”, como argumento valor si falso, que ponga un error.


=LET(xx;B4:B20;a;SI(xx=B10;FILA(xx);NOD());a)


Tenemos una matriz desbordada en vertical con el numero de fila donde aparece NUEVA ORDEN, y, error donde no aparece.

Antes del condicional SI, ponemos la función ENCOL, como argumento matriz es el condicional SI, como argumento ignorar, seleccionamos 3, es decir, ignorar blancos y errores.


=LET(xx;B4:B20;a;ENCOL(SI(xx=B10;FILA(xx);NOD());3);a)

 

Tenemos los números de filas donde se encuentra la palabra NUEVA ORDEN.

Creamos otra variable, usamos la función APILARH, como argumento matriz1, a la variable “a” restamos 1, como argumento matriz2, a la variable “a”, le sumamos 1.


=LET(xx;B4:B20;a;ENCOL(SI(xx=B10;FILA(xx);NOD());3);bb;APILARH(a-1;a+1);bb)

 

Tenemos una matriz de dos columnas con las filas a rescatar.

Antes de APILARH, usamos la función ENCOL.


=LET(xx;B4:B20;a;ENCOL(SI(xx=B10;FILA(xx);NOD());3);bb;ENCOL(APILARH(a-1;a+1));bb)


Tenemos las filas a rescatar en vertical.

El numero 21 está de más, porque la última palabra NUEVA ORDEN se encuentra en la fila 20, por lo que al sumar 1, nos devuelve la fila 21, que no hay nada, pues, usamos EXCLUIR, y, quitamos la última fila.


=LET(xx;B4:B20;a;ENCOL(SI(xx=B10;FILA(xx);NOD());3);bb;EXCLUIR(ENCOL(APILARH(a-1;a+1));-1);bb)

Usamos el argumento calculo de LET, usamos la función INDICE, como argumento matriz, seleccionamos la columna B, como argumento numero de fila, ponemos la variable “bb”.


=LET(xx;B4:B20;a;ENCOL(SI(xx=B10;FILA(xx);NOD());3);bb;EXCLUIR(ENCOL(APILARH(a-1;a+1));-1);INDICE(B:B;bb))

 

Aceptamos, y, ya lo tenemos.



Miguel Angel Franco

1 visualización0 comentarios

Comments


bottom of page