Table des matières:
- Étape 1: Que sont les fonctions ?
- Étape 2: Comment écrire une fonction personnalisée ?
- Étape 3: Limitations des fonctions et saisie semi-automatique
- Étape 4: Appeler des services externes
- Étape 5: Étapes suivantes
Vidéo: Ajouter une fonction personnalisée dans Google Sheets : 5 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
Je suis sûr qu'à un moment de votre vie, vous avez dû utiliser un tableur comme Microsoft Excel ou Google Sheets.
Ils sont relativement simples et simples à utiliser, mais aussi très puissants et facilement extensibles.
Aujourd'hui, nous allons examiner Google Sheets et sa capacité à ajouter du code et des fonctions personnalisées afin de pouvoir l'étendre.
Étape 1: Que sont les fonctions ?
Une fonction est un morceau de code qui manipule les données de la feuille de calcul pour calculer automatiquement une nouvelle valeur pour nous. Un exemple très courant d'une telle fonction est SUM, qui calcule la somme d'une colonne ou d'un groupe de cellules.
Tous les tableurs prennent en charge de nombreuses fonctions de ce type qui y sont pré-intégrées, mais ils prennent également en charge la possibilité de les étendre et d'écrire les nôtres.
Étape 2: Comment écrire une fonction personnalisée ?
Pour écrire une fonction personnalisée dans Google Sheets, nous utilisons une fonctionnalité appelée Apps Script qui est une plate-forme de développement d'applications rapide où nous pouvons écrire du code en JavaScript directement dans le navigateur qui sera ensuite exécuté dans notre feuille de calcul.
Pour commencer à écrire, nous pouvons aller dans Outils > Éditeur de script dans le menu du haut et cela fera apparaître l'éditeur de code en ligne.
Dans celui-ci, lors de la première ouverture, nous aurons un fichier appelé Code.gs avec une fonction de démarrage vide, nommée myFunction.
Comme exemple de départ, nous allons renommer cette fonction en DOUBLE et ajouter un paramètre d'entrée dans sa déclaration. Dans le corps de la fonction, nous devons renvoyer une valeur et pour cet exemple, nous multiplierons simplement la valeur d'entrée par 2.
Nous pouvons maintenant enregistrer le script et si nous revenons à la feuille de calcul et y ajoutons des données, nous pouvons maintenant référencer cette fonction dans n'importe quelle cellule et envoyer la référence de cellule de données comme entrée pour la valeur.
Lors de l'exécution de cette fonction, Google Sheets affichera brièvement un message de chargement dans la cellule, mais il affichera ensuite la valeur renvoyée par la fonction.
Étape 3: Limitations des fonctions et saisie semi-automatique
Ces fonctions peuvent faire ce que nous voulons, mais il y a certaines limitations que nous devons suivre comme:
Les noms doivent être uniques et différents de ceux utilisés par les fonctions intégrées. Le nom ne doit pas se terminer par un _, et les noms de fonction sont généralement écrits en majuscules, bien que cela ne soit pas obligatoire.
Chaque fonction peut renvoyer une seule valeur comme dans notre exemple mais elle peut également renvoyer un tableau de valeurs. Ce tableau sera ensuite étendu aux cellules adjacentes tant qu'elles sont vides. Si ce n'est pas le cas, une erreur s'affichera.
La fonction que nous avons écrite est utilisable, mais pour toute autre personne susceptible de modifier le document, elle sera inconnue et l'utilisateur devra savoir qu'elle existe pour l'utiliser. Nous pouvons résoudre ce problème en ajoutant la fonction à la liste de saisie semi-automatique, de la même manière que toutes les fonctions intégrées.
Pour ce faire, nous devons ajouter une balise JsDoc @customfunction devant la fonction en tant que commentaire où, dans ce commentaire, nous pouvons écrire une brève explication de ce que fait notre fonction.
Maintenant, avec le commentaire ajouté, lorsque nous commençons à écrire le nom de la fonction, la fonction sera proposée par la saisie semi-automatique, avec la description de la fonction.
Étape 4: Appeler des services externes
La grande puissance de ces fonctions vient de la possibilité d'appeler et d'interagir avec d'autres outils et services de Google comme Translate, Maps, de se connecter à une base de données externe, de travailler avec XML et autres. De loin, la fonctionnalité la plus puissante pour moi est la possibilité de faire une requête HTTP externe à n'importe quelle API ou page Web et d'en obtenir des données en utilisant le service UrlFetch.
Pour démontrer cela, je vais coller une fonction qui convertira les dollars américains en francs suisses, mais elle n'assumera pas le taux de change mais le récupérera à partir d'une API externe.
La fonction utilise également le service de cache intégré où elle n'appellera pas l'API pour tous les calculs, mais elle l'appellera une fois pour le premier calcul, puis elle stockera cette valeur dans le cache.
Tous les autres calculs seront ensuite effectués avec la valeur mise en cache afin que leurs performances soient considérablement améliorées et que nous n'atteignons pas le serveur aussi souvent car les taux ne changent pas si rapidement.
Étant donné que l'API renvoie JSON, une fois que nous obtenons la réponse du serveur, nous devons analyser le JSON dans un objet et nous pouvons ensuite obtenir le taux, le multiplier par la valeur d'entrée et renvoyer la nouvelle valeur calculée à la cellule.
Étape 5: Étapes suivantes
Si vous trouvez cela intéressant et que vous souhaitez en savoir plus, je laisserai ci-dessous des liens vers des ressources supplémentaires.
developers.google.com/apps-script/guides/s…
developers.google.com/apps-script
Si vous avez aimé l'Instructable, alors assurez-vous de vous abonner à ma chaîne YouTube si vous ne l'avez pas déjà fait et consultez certains de mes autres Instructables.
Bravo et merci d'avoir lu.
Conseillé:
Ajout d'une fonction de charge rapide à une banque d'alimentation : 5 étapes (avec photos)
Ajout d'une fonction de charge rapide à une banque d'alimentation : dans ce projet, je vais vous montrer comment j'ai modifié une banque d'alimentation commune afin de réduire son temps de charge ridiculement long. En cours de route, je parlerai du circuit du powerbank et de la raison pour laquelle la batterie de mon powerbank est un peu spéciale. Allons-y st
Ajouter une ligne dans une Boombox avec un lecteur de bande : 5 étapes
Ajout d'une ligne dans une Boombox avec un lecteur de bande : ** Comme pour tous les instructables, vous prenez votre élément / santé / quoi que ce soit dans vos propres mains lors de la tentative ! Faites attention aux tensions élevées sur la carte d'alimentation principale, au fer à souder chaud, etc. Être prudent et patient vous apportera le succès. **E
Désactiver la fonction de veille dans le caisson de basses Presonus Temblor T8 : 5 étapes
Désactiver la fonction de veille dans le caisson de basses Presonus Temblor T8 : Il m'a fallu environ une journée pour me rendre compte que bien que le Temblor T8 soit un excellent caisson de basses, je déteste sa fonction de veille automatique. Il met trop de temps à se réveiller, il s'éteint lorsque vous écoutez à des niveaux faibles et il éclate comme un fou à chaque fois
Installation d'un dissipateur thermique Zalman VF900-Cu sur une édition Mac Radeon X800 XT pour une utilisation dans une tour Apple G5 : 5 étapes
Installation d'un dissipateur thermique Zalman VF900-Cu sur une édition Mac Radeon X800 XT pour une utilisation dans une tour Apple G5 : l'avertissement standard - C'est ainsi que je l'ai fait. Cela a fonctionné pour moi. Si vous faites exploser votre G5, Radeon X800 XT, ou votre maison, voiture, bateau, etc. Je ne suis pas responsable ! Je fournis des informations basées sur mes propres connaissances et expériences. Je crois que tout st
Ajouter une prise de courant USB dans votre voiture : 9 étapes (avec photos)
Ajoutez une prise de courant USB dans votre voiture : Étant donné la nature encombrante des adaptateurs 12 volts pour les véhicules, j'ai décidé d'intégrer une prise de courant USB dans ma Prius III 2010. Bien que ce mod soit spécifique à ma voiture, il peut être appliqué à de nombreuses voitures, camions, véhicules récréatifs, bateaux, etc