Equivalent Apps Script de fonctions Google Sheets
Si vous avez l'habitude d'utiliser à la fois les fonctions de Google Sheets et de travailler avec des codes Apps Script (ou JavaScript), vous avez probablement remarqué certaines équivalences entre différentes fonctions et méthodes.
Si ce n'est pas le cas, vous découvrirez ici l'équivalent Apps Script de fonctions telles que SI, LAMBDA, LET, MAP, REDUCE et bien d'autres encore.
Les fonctions sont listées par ordre alphabétique.
ARRONDI
La fonction ARRONDI arrondit une valeur à l'entier le plus proche :
=ARRONDI(12,345)
Ou en fonction du nombre de décimales spécifié :
=ARRONDI(12,345;2)
Son équivalent Apps Script est Math.round :
Math.round(12.345); // Entier
Math.round(12.345 * 100) / 100; // 2 décimales
Même principe pour ARRONDI.INF (Math.floor ou parseInt) et ARRONDI.SUP (Math.ceil).
DROITE
La fonction DROITE permet d'extraire une portion à droite d'une chaîne de caractère :
=DROITE("Sheets-Pratique";8)
Son équivalent Apps Script est la méthode slice :
'Sheets-Pratique'.slice(-8);
EQUIV
La fonction EQUIV (ou XMATCH) permet d'obtenir la position d'une valeur dans un tableau :
=EQUIV("Sheets";{"Excel";"Google";"Sheets";"Pratique"};0)
Son équivalent Apps Script est la méthode indexOf :
['Excel', 'Google', 'Sheets', 'Pratique'].indexOf('Sheets');
ET
La fonction ET retourne VRAI si tous les tests sont VRAI :
=ET(1+2=3;1<2)
Son équivalent Apps Script est l'opérateur && :
1 + 2 === 3 && 1 < 2;
FILTER
La fonction FILTER permet de filtrer les valeurs d'un tableau :
=FILTER(A1:A6;A1:A6<30)
Son équivalent Apps Script est la méthode filter :
[8, 45, 16, 25, 30].filter(valeur => valeur < 30);
GAUCHE
La fonction GAUCHE permet d'extraire une portion à gauche d'une chaîne de caractère :
=GAUCHE("Sheets-Pratique";6)
Son équivalent Apps Script est la méthode slice (ou substring) :
'Sheets-Pratique'.slice(0, 6);
INDEX
La fonction INDEX retourne une valeur en fonction de sa position dans un tableau :
=INDEX({1;2;3;4};3)
Son équivalent Apps Script est :
[1, 2, 3, 4][2];
JOIN
La fonction JOIN permet de fusionner un tableau en une chaîne de caractères :
=JOIN(", ";{1;2;3;4})
Son équivalent Apps Script est la méthode join :
[1, 2, 3, 4].join(', ');
LAMBDA
La fonction LAMBDA permet de créer une fonction :
=LAMBDA(valeur;valeur+10)
Son équivalent Apps Script est la fonction fléchée :
valeur => valeur + 10;
D'autres exemples avec LAMBDA ou la fonction fléchée sont disponibles sur cette page.
LET
La fonction LET permet de conserver une valeur pour éviter de la recalculer plusieurs fois dans la formule :
=LET(valeur;123;valeur)
Son équivalent Apps Script est une simple déclaration de variable à laquelle on attribue une valeur :
let valeur = 123;
MAP
La fonction MAP permet d'appliquer une fonction LAMBDA à chacune des valeurs d'un tableau :
=MAP({10;20;30};LAMBDA(valeur;valeur+5))
Son équivalent Apps Script est la méthode map :
[10, 20, 30].map(valeur => valeur + 5);
MAX
La fonction MAX retourne la plus grande valeur d'un tableau :
=MAX({11;-44;33;-22})
Son équivalent Apps Script est Math.max :
Math.max(...[11, -44, 33, -22]);
MIN
La fonction MIN retourne la plus petite valeur d'un tableau :
=MIN({11;-44;33;-22})
Son équivalent Apps Script est Math.min :
Math.min(...[11, -44, 33, -22]);
MOYENNE
La fonction MOYENNE effectue la moyenne des valeurs d'un tableau :
=MOYENNE({8;45;16;25;30})
Son équivalent Apps Script est :
let tableau = [8, 45, 16, 25, 30];
let moyenne = tableau.reduce((total, valeur) => total + valeur, 0) / tableau.length;
NB.SI
La fonction NB.SI permet de compter le nombre de valeurs d'un tableau qui correspondent à un critère :
=NB.SI({8;45;16;25;30};"<30")
Son équivalent Apps Script pourrait être :
[8, 45, 16, 25, 30].filter(valeur => valeur < 30).length;
Ou encore :
[8, 45, 16, 25, 30].reduce((nb, valeur) => valeur < 30 ? nb + 1 : nb, 0);
OU
La fonction OU retourne VRAI si au moins un des tests est VRAI :
=OU(1+2=4;1>2;2>1-3)
Son équivalent Apps Script est l'opérateur || :
1 + 2 === 4 || 1 > 2 || 2 > 1 - 3;
REDUCE
La fonction REDUCE permet d'appliquer une fonction LAMBDA à chacune des valeurs d'un tableau :
=REDUCE(0;{10;20;30};LAMBDA(total;valeur;total+valeur))
Son équivalent Apps Script est la méthode reduce :
[10, 20, 30].reduce((total, valeur) => total + valeur, 0);
REGEXEXTRACT
La fonction REGEXEXTRACT permet d'extraire une ou plusieurs portions d'une chaîne de caractère en fonction d'une expression régulière :
=REGEXEXTRACT("JavaScript";"[A-Z][a-z]*$")
Son équivalent Apps Script est la méthode match :
'JavaScript'.match(/[A-Z][a-z]*$/g);
REGEXMATCH
La fonction REGEXMATCH permet de vérifier si une chaîne de caractère correspond à une expression régulière :
=REGEXMATCH("test";"[rt]est")
Son équivalent Apps Script est la méthode test :
/[rt]est/.test('test');
REGEXREPLACE
La fonction REGEXREPLACE permet de remplacer des portions d'une chaîne de caractère en fonction d'une expression régulière :
=REGEXREPLACE("JavaScript";"[Jva]{4}";"Apps ")
Son équivalent Apps Script est la méthode replace :
'JavaScript'.replace(/[Jva]{4}/g, 'Apps ');
SI
La bien connue fonction SI :
=SI(A1<B1;A1;B1)
Son équivalent Apps Script en version longue :
if (a1 < a2) {
resultat = a1;
} else {
resultat = a2;
}
Ou la version courte avec l'opérateur ternaire :
resultat = a1 < a2 ? a1 : a2;
SIERREUR
La fonction SIERREUR retourne la valeur passée en premier argument s'il n'y a pas d'erreur ou celle en second argument si la première est une erreur :
=SIERREUR(err();123)
Son équivalent Apps Script pourrait être l'opérateur ?? qui retourne la valeur de droite si celle de gauche est null ou undefined :
[1, 2][3] ?? 123;
Ou l'opérateur || qui retourne la valeur de droite si celle de gauche est 0, false, '', NaN, null ou undefined :
0 || 123;
SOMME
La fonction SOMME :
=SOMME({8;45;16;25;30})
Son équivalent Apps Script est :
[8, 45, 16, 25, 30].reduce((total, valeur) => total + valeur, 0);
SOMME.SI
La fonction SOMME.SI effectue la somme des valeurs qui répondent à un critère :
=SOMME.SI({8;45;16;25;30};"<30")
Son équivalent Apps Script est :
[8, 45, 16, 25, 30].reduce((total, valeur) => valeur < 30 ? total + valeur : total, 0);
SORT
La fonction SORT permet de trier les valeurs d'un tableau :
=SORT({1;10;2;20;0};1;0)
Son équivalent Apps Script est la méthode sort :
[1, 10, 2, 20, 0].sort((a, b) => b - a);
SPLIT
La fonction SPLIT permet de diviser une chaîne de caractères en un tableau :
=SPLIT("11/22/33";"/")
Son équivalent Apps Script est la méthode split :
'11/22/33'.split('/');
STXT
La fonction STXT permet d'extraire une portion au milieu d'une chaîne de caractère :
=STXT("Google Apps Script";8;4)
Son équivalent Apps Script est la méthode slice (ou substring) :
'Google Apps Script'.slice(7, 11);
SUBSTITUE
La fonction SUBSTITUE permet de remplacer des portions d'une chaîne de caractère :
=SUBSTITUE("Excel-Pratique";"Excel";"Sheets")
Son équivalent Apps Script est la méthode replace (ou replaceAll) :
'Excel-Pratique'.replace('Excel', 'Sheets');
UNIQUE
La fonction UNIQUE permet de retirer les doublons d'un tableau :
=UNIQUE({1;4;3;1;2;3;1})
Son équivalent Apps Script pourrait être :
[...new Set([1, 4, 3, 1, 2, 3, 1])];