¿Te gusta anidar funciones? Es posible que no sepas qué significa anidar, pero si has escrito fórmulas en monday.com, seguramente has utilizado funciones anidadas. Anidar implica insertar una función dentro de otra función. Créeme: a nadie le gusta anidar funciones. 

Si no está familiarizado con la app Advanced Formula Booster que reinventa las formulas de monday.com, le recomiendo leer Las nociones básicas de Advanced Formula Booster. El artículo le guía a través de los pasos para crear su primera fórmula y luego automatizarla con la ayuda de capturas de pantalla y un video.

La anidación es la norma en la columna fórmula

Aquí tienes un ejemplo típico de una fórmula que requiere funciones anidadas, ya que debes escribir tu fórmula en una sola instrucción cuando usas la columna fórmulas. Es un caso real que encontramos en el foro de la comunidad de monday.

An example of formula in a formula column

Difícil de seguir, ¿verdad? Esto se debe a que hay 4 niveles de anidación. La segunda función IF está anidada dentro de una función ADD_DAYS, que a su vez está dentro de una función FORMAT_DATE, que a su vez está dentro de la primera función IF.

¡Mira la cantidad de paréntesis! Si colocas uno incorrectamente, la fórmula no funcionará.

¿Puedes adivinar el propósito de esta fórmula? Si la columna call status reason contiene “Sin respuesta” (“No answer”), pretende calcular la fecha de la próxima llamada, 30 días después de una fecha especificada en otra columna (la columna BFS Date o, si está vacía, la columna Date of call).

Con Advanced Formula Booster, no es necesario anidar funciones

Con Advanced Formula Boostertambién puedes escribir fórmulas en una sola instrucción. Pero, ¿por qué lo harías? Puedes obtener un resultado mejor mientras te aseguras de que todos comprendan lo que se está calculando.

Aquí tienes una forma de escribir la misma fórmula. Es prolija, pero lo hicimos a propósito para que siga siendo fácil de entender.

1: [STOP]=IF({call status reason}<>”No answer”,STOP())

2: [D]={BFS Date}

3: [D]=IF([D]=””,{Date of call})

4: {Date of next call}=ADDWORKINGDAYS(20,[D])

En la primera línea, verificamos si la columna call status reason contiene “No answer”. Si es así, la fórmula se detiene. No es necesario continuar, ¿verdad?

En la segunda línea, asignamos a [D] (un nombre arbitrario para representar la fecha a la que queremos añadir 30 días) la fecha de la columna BFS Date.

En la tercera línea, verificamos si [D] está vacía. Si es así, le asignamos el valor de la fecha de la columna Date of call.

Ahora bien, antes de añadir 30 días, ¿qué sucede si 30 días después de [D] cae en un fin de semana o en un día festivo de la empresa? La fórmula escrita con la columna fórmula no intenta determinarlo, porque no puede hacerlo. Pero Advanced Formula Booster sí puede. ¿Por qué? Porque puedes configurar tu semana laboral y tus días festivos de la empresa en la página Days Off del App Center.

Así que, en la última línea, en lugar de añadir 30 días automáticamente, preferimos añadir 20 días laborables, lo cual suele equivaler a 30 días naturales.

Conclusión

Cuando redactas la fórmula con Advanced Formula Booster:

  • Obtienes un resultado más adecuado, es decir, un verdadero día laborable basado en tu propio calendario.
  • La sintaxis es más amigable.
  • La fecha calculada se almacena en una columna de fecha, no en una columna fórmula, lo que significa que puedes reutilizarla en cualquier lugar de monday.com o en otra fórmula, a diferencia de si estuviera almacenada en una columna fórmula.