Créer des formules efficaces avec @cell et @row

Optimisez vos formules pour améliorer les performances globales de votre feuille et éviter de faire référence manuellement à des cellules dans les formules.

Qui peut l’utiliser ?

Forfaits :

  • Smartsheet
  • Pro
  • Business
  • Enterprise

Autorisations :

  • Propriétaire
  • Administrateur
  • Éditeur

Find out if this capability is included in Smartsheet Regions or Smartsheet Gov.

Les utilisateurs d’un forfait Entreprise peuvent utiliser l’IA pour générer des formules

Les utilisateurs disposant d’autorisations de partage de niveau éditeur peuvent uniquement créer et modifier des formules dans des cellules déverrouillées sur une feuille.

À mesure que vos feuilles se développent, la création efficace de formules améliore leur performance. Voici deux fonctions, @cell et @row, qui vous aident à rendre vos formules plus efficaces.


Utiliser @cell pour effectuer des calculs de cellule plus intelligents

Lorsque vous souhaitez effectuer des calculs dans des formules qui englobent des plages de cellules, par exemple : SUMIF, SUMIFS, COUNTIF et COUNTIFS, vous pouvez utiliser l’argument @cell dans les critères de la fonction. 

L’argument @cell effectue un calcul sur chaque ligne en même temps que la fonction principale (par exemple, SUMIF) évalue les critères de la plage, ce qui rend votre formule plus efficace.

Par exemple, à partir des exemples de données de l’image ci-dessous, si vous souhaitez additionner le coût de toutes les tâches dont la date d’échéance se situait en 2023, vous créeriez la formule suivante :

=SUMIF([Due Date]1:[Due Date]5, YEAR(@cell) = 2023, Cost1:Cost5)

Brandfolder Image
Sheet containing a =SUMIF formula

 

Ajoutez la fonction IFERROR à votre formule pour vous assurer que vous n’obtiendrez pas d’erreur si @cell rencontre une cellule vide dans la formule. Par exemple : =COUNTIF(Date:Date, IFERROR(YEAR(@cell), 0) = 2016)


Utiliser @row pour améliorer les performances des formules

Avec @row, vous pouvez améliorer les performances en modifiant automatiquement les références de cellules dans une colonne (par exemple, le statut de vos tâches) pour un grand nombre de lignes. 


Imaginons que nous souhaitions utiliser une formule pour modifier automatiquement les symboles dans la colonne de statut de cette grille :

Brandfolder Image
Sheet containing data for a RYG ball color change formula automation

 

Voici un exemple de formule que vous pouvez créer pour automatiser le changement de couleur des voyants RVJ dans votre colonne de statut :

=IF(Complete3 > 1, IF(TODAY() - [Due Date]3 > 0, "Red", IF(TODAY() - [Due Date]3 > -3, "Yellow", "Green")))

La formule ci-dessus contient plusieurs références aux cellules de la ligne 3. Lorsque vous ajoutez une ligne au-dessus de la ligne 3, Smartsheet met automatiquement à jour toutes les références de cellule de la formule vers la ligne 4. Smartsheet applique la même modification de formule à toutes les lignes situées en dessous. À mesure que le nombre de formules nécessitant des mises à jour augmente, les performances de Smartsheet sont affectées.

Pour améliorer les performances de vos feuilles, remplacez les numéros de ligne par @row dans vos références de cellule. Voici à quoi ressemble la formule avec @row :

=IF(Complete@row > 1, IF(TODAY() - [Due Date]@row > 0, "Red", IF(TODAY() - [Due Date]@row > -3, "Yellow", "Green")))

Smartsheet n’a pas besoin de mettre à jour les références de cellules lorsqu’une ligne est déplacée, ce qui accélère le chargement de la feuille. Vous pouvez également copier et coller cette formule sans avoir à modifier manuellement les numéros des lignes au niveau des références de cellule, ce qui vous fait gagner du temps lorsque vous devez copier vos formules. 

Besoin d’aide ?

Utilisez le Manuel de formules pour trouver d’autres ressources d’assistance et afficher plus de 100 formules, y compris un glossaire de chaque fonction que vous pouvez tester en temps réel, ainsi que des exemples de formules courantes et avancées.

Découvrez comment d’autres clients Smartsheet utilisent cette fonction ou posez des questions sur votre cas précis sur la communauté en ligne Smartsheet.

Poser des questions à la communauté