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. En savoir plus.

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 aideront à optimiser l’efficacité de vos formules.

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 (SUMIF par exemple) é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)

Cette image montre une formule sumif.

 

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 :

Cette image montre une formule utilisée pour modifier automatiquement les voyants de statut.

 

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. Si vous ajoutez une ligne au-dessus de la ligne 3, Smartsheet met automatiquement à jour toutes les références de cellules de la formule jusqu’à la ligne 4. Elle modifierait également les formules de chaque ligne située en dessous de la même manière. Plus il y a de formules à modifier, plus vos performances dans 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 ressemblerait 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’aura pas besoin de modifier les références de cellule si la ligne est déplacée, ce qui accélère le chargement de la feuille et permet de gagner du temps. 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é