top of page

Calculo fechas posteriores

Para el siguiente ejemplo, debemos de calcular las fechas posteriores a las fechas dadas en la columna A por días de referencia.














Por ejemplo, para la primera fecha 04/10/2023 nos solicitan en que fecha cae el tercer jueves a partir de dicha fecha, que es la fecha 19/10/2023.


En la celda D2, usamos LET, creamos una variable, seleccionamos el rango A2:A8, probamos variable.


=LET(a;A2:A8;a)


Tenemos una matriz desbordada en vertical con las fechas.













En la siguiente variable, vamos a extraer los números de cada dato de la columna referencia, para ello, usamos la funcion DIVIDIRTEXTO, como argumento texto, seleccionamos el rango B2:B8, como argumento delimitador de columna, usamos una constante de matriz, por lo que abrimos unas llaves, entre comillas dobles, vamos a poner la primera letra después del numero sin repetís, y, cerramos llaves.


=LET(a;A2:A8;o;DIVIDIRTEXTO(B2:B8;{"r";"t";"n";"s"});o)


Tenemos los números de cada celda de la columna referencia.













Creamos otra variable, usamos la funcion IZQUIERDA, como argumento texto, usamos la funcion TEXTODESPUES, como argumento texto, seleccionamos el rango B2:B8, como argumento delimitador, ponemos un espacio.


Vamos a obtener las dos primeras letras de cada nombre de día de la semana.


=LET(a;A2:A8;b;DIVIDIRTEXTO(B2:B8;{"r";"t";"n";"s"});w;IZQUIERDA(TEXTODESPUES(B2:B8;" ");2);w)














Usamos la funcion HALLAR, como argumento texto buscado, es la funcion IZQUIERDA, como argumento dentro del texto, entre comillas dobles, en orden, ponemos las iniciales de los días de la semana, empezando la semana por el domingo.


Sumamos 1, y, dividimos la funcion HALLAR entre 2.


=LET(a;A2:A8;o;DIVIDIRTEXTO(B2:B8;{"r";"t";"n";"s"});w;(HALLAR(IZQUIERDA(TEXTODESPUES(B2:B8;" ");2);"DoLuMaMiJuViSá")+1)/2;w)


Creamos otra variable y nos traemos el día de la semana de la columna de fechas.


=LET(a;A2:A8;o;DIVIDIRTEXTO(B2:B8;{"r";"t";"n";"s"});w;(HALLAR(IZQUIERDA(TEXTODESPUES(B2:B8;" ");2);"DoLuMaMiJuViSá")+1)/2;d;DIASEM(a);d)














Usamos el argumento cálculo de LET, ponemos la variable “a”, restamos con la variable “d”, sumamos con la variable “w”, y, sumamos con 7.


=LET(a;A2:A8;o;DIVIDIRTEXTO(B2:B8;{"r";"t";"n";"s"});w;(HALLAR(IZQUIERDA(TEXTODESPUES(B2:B8;" ");2);"DoLuMaMiJuViSá")+1)/2;d;DIASEM(a);a-d+w+7


Ponemos el símbolo de multiplicación, abrimos un paréntesis, a la variable “o” le restamos 1, ponemos el signo de más, abrimos un paréntesis, ponemos la variable “d” comparamos con mayor o igual a la variable “w”.


=LET(a;A2:A8;o;DIVIDIRTEXTO(B2:B8;{"r";"t";"n";"s"});w;(HALLAR(IZQUIERDA(TEXTODESPUES(B2:B8;" ");2);"DoLuMaMiJuViSá")+1)/2;d;DIASEM(a);a-d+w+7*(o-1+(d>=w)))


Aceptamos, y, ya lo tenemos.













Miguel Angel Franco

 
 
 

Comentarios


© 2019 Miguel Ángel Franco García

bottom of page