google-apps-script
Créer une fonction personnalisée pour Google Sheets
Recherche…
Introduction
Une fonction personnalisée dans Google Documents est liée à un document spécifique (et ne peut donc être utilisé que dans ce document).
Il doit donc être créé avec l'édition du script de ce document (Tools -> Script Editor). Une fois sauvegardé, il peut ensuite être utilisé comme toute autre formule de tableur classique.
Constante standard de gravité
Cette fonction renvoie la constante de gravité standard dans les unités d'accélération spécifiées (1 pour cm / s², 2 pour ft / s², 3 pour m / s²)
/** * Returns the standard gravity constant in the specified acceleration units * Values taken from https://en.wikipedia.org/wiki/Standard_gravity on July 24, 2016. * * @param {number} input 1 for cm/s², 2 for ft/s², 3 for m/s² * * @customfunction */ function sg(units_key) { var value; switch(units_key) { case 1: value = 980.665; break; case 2: value = 32.1740; break; case 3: value = 9.80665; break; default: throw new Error('Must to specify 1, 2 or 3'); } return value; }
Pour utiliser la fonction, il doit être lié à une feuille de calcul en utilisant l'éditeur de script (Outils -> Editeur de script ...). Une fois la fonction ajoutée, elle peut être utilisée comme n’importe quelle autre fonction Google en appelant la fonction dans la formule d’une cellule.
Notez comment la fonction apparaît en saisie semi-automatique lors de la saisie dans une formule. Cela est dû au commentaire multi-ligne au-dessus de la déclaration de fonction qui est utilisé pour décrire ce que la fonction fait comme JSDoc et Javadoc. Pour que la formule s'affiche en autocomplétion, la balise @customfunction doit être spécifiée dans le commentaire.
Exemple de base
Pour éviter les erreurs inesthétiques #DIV/0
dans une feuille de calcul, une fonction personnalisée peut être utilisée.
/**
* Divides n by d unless d is zero, in which case, it returns
* the given symbol.
*
* @param {n} number The numerator
* @param {d} number The divisor
* @param {symbol} string The symbol to display if `d == 0`
* @return {number or string} The result of division or the given symbol
*
* @customfunction
*/
function zeroSafeDivide(n, d, symbol) {
if (d == 0)
return symbol;
else
return n / d;
}
Pour utiliser la fonction, il doit être lié à une feuille de calcul en utilisant l'éditeur de script ( Outils -> Editeur de script ... ). Une fois la fonction ajoutée, elle peut être utilisée comme n’importe quelle autre fonction Google en appelant la fonction dans la formule d’une cellule.
Notez comment la fonction apparaît en saisie semi-automatique lors de la saisie dans une formule. Cela est dû au commentaire multi-ligne au-dessus de la déclaration de fonction qui est utilisé pour décrire ce que la fonction fait comme JSDoc et Javadoc. Pour que la formule s'affiche en autocomplétion, la balise @customfunction
doit être spécifiée dans le commentaire.