Formules permettant d’obtenir des données liées aux champs de sous-table, comme renvoyer une entrée spécifique d’une sous-table, récupérer le nombre de lignes uniques ou non vides, etc...
Voici la liste des formules prises en charge. Veuillez noter que ces formules sont sensibles à la casse.
| Formule | Description |
|---|---|
| FIRST(valeur) | Renvoie la première valeur de la colonne de votre sous-table. Pour plus de détails, cliquez ici. |
| FIRSTA(valeur) | Renvoie la première valeur non vide de la colonne de votre sous-table. Pour plus de détails, cliquez ici. |
| LAST(valeur) | Renvoie la dernière valeur de la colonne de votre sous-table. Pour plus de détails, cliquez ici. |
| LASTA(valeur) | Renvoie la dernière valeur non vide de la colonne de votre sous-table. Pour plus de détails, cliquez ici. |
| SUBTABLEROW(value,num_ligne) | Renvoie la valeur ciblée de la colonne de votre sous-table, à utiliser uniquement dans des champs indépendants. Pour plus de détails, cliquez ici. |
| COUNTA(valeur) | Compte le nombre de lignes de la sous-table où le champ spécifié n’est pas vide. La formule compte si le champ spécifié n’est pas vide, même si d’autres champs de la ligne le sont. Il n’est pas nécessaire que toute la ligne soit remplie. Pour plus de détails, cliquez ici. |
| RUNNINGBALANCE(valeur, [allow_backend_formula_recalculation=false]) | Renvoie la somme des valeurs de ce champ et des lignes précédentes dans votre sous-table. Si défini sur true, la formule permet le recalcul côté serveur. Pour utiliser cette formule, les enregistrements de la sous-table doivent être créés dans l’ordre séquentiel. Pour plus de détails, cliquez ici. |
| LARGE(arg, nth, ["arg2"]) | Se réfère aux champs de la sous-table et vérifie la valeur ordinale d’une colonne tout en renvoyant la valeur d’une autre colonne de la même ligne. Pour plus de détails, cliquez ici. |
| UNIQUE() | Liste les valeurs uniques du champ de sous-table référencé. Pour plus de détails, cliquez ici. |
| UNIQUE().length | Calcule le nombre de valeurs uniques du champ de sous-table référencé. Pour plus de détails, cliquez ici. |
| VLOOKUP() | Renvoie les valeurs de la sous-table qui remplissent les conditions spécifiées. Pour plus de détails, cliquez ici. |
Attribuer des formules aux En-têtes de champs simplifie les calculs, surtout dans les sous-tables, où des formules complexes sont souvent inutiles. Voici un exemple de calculs dans la feuille "Commande client" : dans la sous-table, le Prix unitaire (B12) et la Quantité (C12) de chaque article sont listés. Multiplier ces valeurs fournit le montant (D12=B12*C12) dû pour chaque article. Ensuite, le sous-total dans le champ Total (A17) référence le montant total (D12) de la sous-table.

Les formules peuvent également être appliquées aux sous-tables elles-mêmes. Par exemple, si vous devez compter le nombre de lignes d’une sous-table, vous pouvez créer un champ séparé dans votre feuille utilisant la formule COUNT().

Pour plus de détails et d’applications des formules de sous-table, consultez la section suivante. Pour les applications des formules conditionnelles dans les sous-tables, référez-vous à cette section.
Utilisez les formules suivantes pour renvoyer la valeur d’un champ spécifique d’une ligne de sous-table. Voir le tableau ci-dessous.
| Formule | Application | Exemple |
|---|---|---|
| FIRST(valeur) | Renvoie le premier enregistrement, utilisé pour récupérer les données en haut ou les plus anciennes. Applicable aux champs indépendants et aux sous-tables. | FIRST(A11) |
| FIRSTA(valeur) | Renvoie le premier enregistrement non vide, en ignorant les lignes vides. Applicable aux champs indépendants et aux sous-tables. | FIRSTA(A11) |
| LAST(valeur) | Renvoie le dernier enregistrement, utilisé pour récupérer les données en bas ou les plus récentes. Applicable aux champs indépendants et aux sous-tables. | LAST(A11) |
| LASTA(valeur) | Renvoie le dernier enregistrement non vide, en ignorant les lignes vides. Applicable aux champs indépendants et aux sous-tables. | LASTA(A11) |
| SUBTABLEROW(valeur, num_ligne) | Renvoie les données d’une ligne spécifiée, utilisé pour récupérer une ligne intermédiaire ou spécifique. Applicable uniquement aux champs indépendants. | SUBTABLEROW(A11, 3) |

Compte le nombre de lignes de sous-table où le champ spécifié n’est pas vide, quel que soit le contenu (texte, chiffres ou résultats de formules). Les champs vides sont exclus. Couramment utilisé pour les statistiques, la validation des données ou l’analyse de rapports.
Remarque : la formule compte si le champ spécifié n’est pas vide, même si d’autres champs de la ligne le sont. Il n’est pas nécessaire que toute la ligne soit remplie.
Exemple : dans une sous-table avec un champ Téléversement de fichier, chaque ligne peut inclure des fichiers attachés, tandis que les champs vides indiquent qu’aucun fichier n’a été téléchargé. Appliquer COUNTA(téléversement fichier) dans le champ Nombre de fichiers calcule rapidement combien d’enregistrements de sous-table contiennent des fichiers téléversés.

Renvoie la somme des valeurs de la ligne courante et des lignes précédentes dans une colonne de sous-table, souvent utilisée pour les montants, quantités ou autres champs nécessitant des totaux cumulés.
| Formule | Syntaxe |
|---|---|
| RUNNINGBALANCE | RUNNINGBALANCE(valeur, [allow_backend_formula_recalculation=false]) |
Arguments : valeur (obligatoire) : Le champ à cumuler.
allow_backend_formula_recalculation (optionnel) : Par défaut sur faux (false). Si défini sur true, la formule permet le recalcul côté serveur. Remarque : Les enregistrements de sous-table doivent être créés dans l’ordre correct.
Exemple : calcul du total cumulé.
Dans le champ "Total cumulé" d’une sous-table, appliquez la formule : RUNNINGBALANCE("Montant transaction quotidienne",true)
Cette formule additionne chaque transaction dans l’ordre, affichant le total cumulé ligne par ligne, et permet le recalcul automatique côté serveur.

Renvoie la valeur d’un champ de sous-table spécifié en fonction de sa position ordinale, ou la valeur d’un autre champ de la même ligne. Souvent utilisée pour l’analyse statistique, le classement ou l’évaluation des performances. Les valeurs dupliquées sont classées séquentiellement plutôt que traitées comme égales.
| Formule | Syntaxe |
|---|---|
| LARGE | LARGE(arg, nth, ["arg2"]) |
Arguments : arg (obligatoire) : le champ numérique à interroger.
nth (obligatoire) : la position ordinale à renvoyer (par exemple, 1 pour la plus grande valeur, 2 pour la deuxième plus grande).
arg2 (optionnel) : le champ de la même ligne à renvoyer lorsque la condition est remplie.
Exemple : identifier les meilleurs performeurs et leurs ventes trimestrielles.
Dans une sous-table enregistrant la performance trimestrielle de chaque commercial avec les champs "Nom du commercial" et "Ventes trimestrielles" :
Pour trouver les ventes trimestrielles les plus élevées, appliquez la formule LARGE("Ventes trimestrielles", 1). Cela renvoie le montant le plus élevé pour le trimestre.

Pour obtenir le nom du commercial le plus performant, appliquez LARGE("Ventes trimestrielles", 1, "Nom du commercial").
Pour trouver le deuxième meilleur performeur, utilisez LARGE("Ventes trimestrielles", 2, "Nom du commercial").

Pour renvoyer la plus petite valeur de la sous-table, combinez avec la fonction COUNT().
Par exemple : LARGE("Ventes trimestrielles", COUNT("Ventes trimestrielles"), "Nom du commercial")
Cette formule renvoie la plus petite valeur du champ "Ventes trimestrielles" et le nom correspondant.

Vous pouvez utiliser UNIQUE() et UNIQUE().length pour trouver ou calculer le nombre de valeurs uniques dans une sous-table. UNIQUE() : Liste les valeurs uniques du champ de sous-table référencé. Si vous ne modifiez pas le séparateur dans votre formule, les valeurs de sous-table utilisent par défaut "," comme séparateur.
Si vous souhaitez configurer votre séparateur, modifiez votre formule en UNIQUE(champ,"séparateur"). Par exemple, UNIQUE(A1,"/"), UNIQUE(A1," "), ou UNIQUE(A1,", "). Le résultat sera respectivement "Sophie/Pierre Martin/Camille Dupont", "Sophie Pierre Martin Camille Dupont", ou "Sophie, Pierre Martin, Camille Dupont".
UNIQUE().length : Calcule le nombre de valeurs uniques du champ de sous-table référencé.
Par exemple : 
La fonction VLOOKUP renvoie la valeur d’un champ des lignes de sous-table si une condition spécifiée est évaluée comme TRUE.
| Formule | Syntaxe |
|---|---|
| VLOOKUP | VLOOKUP(valeur, champRecherche, champRetour, [approximateMatch=true], [findMultiple=false]) |
Arguments :
valeur (obligatoire) : la valeur à rechercher. Peut être un nombre, une expression, une référence à un autre champ ou une chaîne de texte.
champRecherche (obligatoire) : le champ de la sous-table où se trouve la valeur recherchée.
champRetour (obligatoire) : le champ de la sous-table contenant la valeur à renvoyer.
[approximateMatch=true] (optionnel) : spécifie si VLOOKUP doit effectuer une correspondance approximative ou exacte. La valeur par défaut est "true" (correspondance approximative). Définissez sur "false" pour une correspondance exacte.
[findMultiple=false] (optionnel) : détermine si le champ de retour renvoie plusieurs valeurs. La valeur par défaut est false. Si plusieurs entrées correspondent aux critères, définissez sur "true".
Exemple :
Pour trouver l’enseignant d’une classe spécifique dans la sous-table ci-dessous :

Vous pouvez créer un nouveau champ de texte libre pour que l’utilisateur saisisse la classe recherchée. Ensuite, créez un autre champ texte libre et appliquez la formule VLOOKUP(A9, A4, B4, false, false) ou VLOOKUP(A9, A4, B4). Cela renverra le nom de l’enseignant correspondant à la classe saisie.

Pour renvoyer plusieurs valeurs correspondant aux critères et effectuer une correspondance approximative, vous pouvez appliquer "VLOOKUP(A9, A4, B4, true, true)".