Aimez-vous imbriquer des fonctions ? Vous ne savez peut-être pas ce que signifie l’imbrication, mais si vous avez rédigé des formules dans monday, vous avez certainement utilisé des fonctions imbriquées. L’imbrication consiste à insérer une fonction à l’intérieur d’une autre fonction. Croyez-moi : personne n’aime imbriquer des fonctions.
Si vous n’êtes pas familier avec l’app Advanced Formula Booster qui réinvente les formules de monday.com, je vous recommande de lire Les notions de base d’Advanced Formula Booster. Cet article vous guide à travers les étapes de création de votre première formule, puis de son automatisation à l’aide de copies d’écran et d’une vidéo.
L’imbrication est la norme avec la colonne formule
Voici un exemple typique de formule qui nécessite des fonctions imbriquées, puisque vous devez rédiger votre formule en une seule instruction lorsque vous utilisez la colonne formule. Il s’agit d’un cas réel que nous avons trouvé dans le forum de la communauté monday :
![An example of formula syntax in monday.com An example of formula in a formula column](https://blog.mdboosters.com/wp-content/uploads/2023/11/monday_screenshot_nested.png)
Difficile à suivre, n’est-ce pas ? C’est parce qu’il y a 4 niveaux d’imbrication. La deuxième fonction IF est imbriquée dans une fonction ADD_DAYS qui est elle-même à l’intérieur d’une fonction FORMAT_DATE, qui est à son tour à l’intérieur de la première fonction IF.
Regardez le nombre de parenthèses ! Si vous en placez une incorrectement, la formule ne fonctionnera pas.
Pouvez-vous deviner l’objectif de cette formule ? Si la colonne call reason status est contient “No answer”, elle prétend calculer la date du prochain appel, 30 jours après une date spécifiée dans une autre colonne (la colonne BFS Date ou, si elle est vide, la colonne Date of call).
Avec l’Advanced Formula Booster, pas besoin d’imbriquer des fonctions
Avec l’Advanced Formula Booster, vous pouvez également rédiger des formules en une seule instruction. Mais pourquoi le feriez-vous ? Vous pouvez obtenir un meilleur résultat tout en vous assurant que tout le monde comprend ce qui est calculé.
Voici une façon d’écrire la même formule. Elle est verbeuse, mais nous l’avons fait exprès pour qu’elle reste facile à comprendre.
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])
Dans la première ligne, nous vérifions si la colonne call status reason contient “No answer”. Si cest la cas, la formule s’arrête. Pas besoin d’aller plus loin, n’est-ce pas ?
Dans la deuxième ligne, nous attribuons à [D] (un nom arbitraire pour représenter la date à laquelle nous voulons ajouter 30 jours) la date BFS Date.
Dans la troisième ligne, nous vérifions si [D] est vide. Si c’est le cas, nous lui attribuons la valeur de la date Date of call.
Maintenant, avant d’ajouter 30 jours, que se passe-t-il si 30 jours après [D] est un week-end ou un jour férié de l’entreprise ? La formule écrite avec la colonne formule ne tente pas de le déterminer, car elle ne le peut pas. Mais Advanced Formula Booster le peut. Pourquoi ? Parce que vous pouvez définir votre semaine de travail et vos jours fériés d’entreprise dans la page Days Off du App Center.
Ainsi, dans la dernière ligne, au lieu d’ajouter aveuglément 30 jours, nous préférons ajouter 20 jours ouvrables, ce qui équivaut généralement à 30 jours calendaires.
Conclusion
Lorsque vous rédigez la formule avec Advanced Formula Booster :
- Vous obtenez un résultat plus approprié, c’est-à-dire un vrai jour ouvrable basé sur votre propre calendrier.
- La syntaxe est plus conviviale.
- La date calculée est stockée dans une colonne date, pas dans une colonne formule, ce qui signifie que vous pouvez la réutiliser n’importe où dans monday.com ou dans une autre formule, contrairement à si elle était stockée dans une colonne formule.