Les formules Grist
Les formules Grist : tout ce qui change vraiment par rapport à Excel
Si vous venez d’Excel ou de Google Sheets, les formules Grist vont vous surprendre – en bien.
Contrairement à ce qu’on voit souvent, Grist ne copie pas simplement les fonctions d’Excel : il utilise la syntaxe Python, ce qui le rend à la fois plus simple à lire et beaucoup plus puissant.
Voici ce qu’il faut comprendre dès le départ.
1. Pas de A1, B12, C5… on parle avec des noms de colonnes
Dans Excel :=SOMME(B2:B100) ou =B2*1,2
Dans Grist :=Montant_HT * 1.20
ou=Montant_HT.sum()
On écrit le nom de la colonne directement (sans guillemets, sans crochets).
C’est immédiatement lisible, même pour quelqu’un qui n’a jamais ouvert le document.
2. La référence à la ligne courante : le point (.)
Quand vous êtes dans une colonne calculée, tout ce qui est précédé d’un point concerne la ligne en cours.
Exemple dans une table « Factures » :
| Client | Montant_HT | TVA | Montant_TTC |
|---|---|---|---|
| Dupont | 500 | 20% | =Montant_HT * (1 + TVA) |
C’est exactement la même logique que Excel, mais en plus clair.
3. Accéder à toute la table : pas de point
Si vous retirez le point, vous parlez de toute la colonne/table.
Exemples classiques :
Factures.sum(Montant_TTC)→ total de toutes les facturesAdhérents.count()→ nombre total d’adhérentsDons.filter(Date >= DATE(2024,1,1)).sum(Montant)→ total dons 2024
C’est l’équivalent des SOMME.SI, NB.SI.ENS… mais en une seule ligne lisible.
4. Les triggers : la formule se recalcule quand vous modifiez la cellule
Dans Excel, une formule se met à jour quand une cellule qu’elle utilise change.
Dans Grist, vous pouvez aussi déclencher une action quand on modifie une cellule précise.
Exemple très utile dans une association :
Colonne « Statut » (choix : En attente → Validé → Refusé)
Colonne « Date_validation » (type Date)
Dans Date_validation, on met la formule :
if Statut == "Validé":
NOW()
else:
None
Et on coche « Trigger formula » sur la colonne Statut.
Résultat : dès qu’on passe le statut à « Validé », la date du jour s’inscrit automatiquement.
Impossible à faire proprement dans Excel sans macro VBA.
5. Récursion : une cellule peut se référencer elle-même
Exemple concret : compteur de tâches terminées dans un projet.
Colonne « Tâches terminées » avec la formule :
Projet.lookupOne(id=Tâche_Projet).Tâches.filter(Statut=="Terminé").count()
Même si la table fait 300 lignes, ça marche instantanément.
6. Les erreurs courantes quand on arrive d’Excel
| Erreur classique | Ce qui se passe | Solution simple |
|---|---|---|
| Mettre des guillemets autour du nom de colonne | "Montant"*1.2 → erreur |
Écrire simplement Montant * 1.2 |
| Oublier le point pour la ligne courante | Montant * 1.2 au lieu de Montant_HT * 1.2 dans la même ligne |
Mettre le point si c’est la même ligne : .Montant_HT * 1.2 |
| Utiliser = au début dans une condition | if =Statut=="Validé" |
Non, c’est du Python : if Statut == "Validé": |
| Vouloir faire SOMME.SI.ENS | =SOMME.SI.ENS(... ) |
Utiliser .filter() et .sum() |
7. Exemples concrets que vous pouvez copier-coller aujourd’hui
Association – Calculer le nombre de jours de retard d’une cotisation
max(DATE(2025,1,1) - Date_paiement, 0)
Administration – Mettre automatiquement « URGENT » si échéance < 5 jours
if $Échéance - TODAY() <= 5: "URGENT" else "Normal"
TPE – Calculer la marge brute en %
if Montant_HT != 0:
round((Montant_HT - Coût) / Montant_HT * 100, 1)
else:
0
Projet – Compter les tâches non terminées du projet courant
Tâches.filter(Projet=$id and Statut!="Terminé").count()
8. En résumé : les 5 grandes différences qui changent la vie
| Dans Excel | Dans Grist | Conséquence pour vous |
|---|---|---|
| Références A1, B12… | Noms de colonnes directement | Plus jamais de formule cassée après insertion de colonne |
| Formules identiques partout | Distinction ligne courante (.) / table entière | Formules beaucoup plus courtes et lisibles |
| Pas de trigger natif | Trigger sur modification | Automatisation sans script ni Power Automate |
| Pas de récursion simple | Références circulaires autorisées | Compteurs et totaux dynamiques faciles |
| VBA ou Apps Script requis | Tout est natif en Python | Aucun code externe nécessaire |
Pour aller plus loin immédiatement
- Le Cheat Sheet officiel (à garder ouvert) : https://support.getgrist.com/formula-cheat-sheet/
- La liste complète des fonctions : https://support.getgrist.com/functions/
- L’outil Formula Timer pour repérer les formules lentes : menu Add-ons → Formula Timer
Avec ces bases, vous pouvez déjà remplacer 90 % de vos fichiers Excel complexes par un seul document Grist, plus lisible, plus fiable et partageable en deux clics.
Prochain article : la référence complète des fonctions les plus utiles au quotidien (texte, dates, conditions, tables).