Niveau de codage: Débutant
Durée: 10 minutes
Type de projet: Fonction personnalisée
Objectifs
- Comprendre ce que la solution fait
- Comprendre ce que font les services Apps Script dans la solution.
- Configurez le script.
- Exécutez le script.
À propos de cette solution
Si vous proposez un système de tarification par niveau à vos clients, cette fonction personnalisée vous permet de calculer plus facilement les montants de remise pour vos prix.
Bien que vous puissiez utiliser la fonction intégrée SUMPRODUCT
pour effectuer un calcul de tarification par niveau, l'utilisation de SUMPRODUCT
est plus complexe et moins flexible que la fonction personnalisée de cette solution.
Fonctionnement
Un modèle de tarification par niveau signifie que le coût des biens ou services diminue en fonction de la quantité achetée.
Par exemple, imaginons que vous ayez deux niveaux, l'un compris entre 0 et 500 $ avec une remise de 10% et l'autre compris entre 501 et 1 000 $ avec une remise de 20%. Si le prix total pour lequel vous devez calculer une remise est de 700 $, le script multiplie les 500 $premiers par 10% et les 200 $restants par 20%, pour une remise totale de 90 $.
Pour un prix total donné, le script parcourt les niveaux spécifiés dans la grille tarifaire. Pour chaque partie du prix total qui se situe dans un niveau, cette partie est multipliée par la valeur en pourcentage associée à ce niveau. Le résultat correspond à la somme du calcul de chaque niveau.
Services Apps Script
Cette solution utilise le service suivant:
- Service de feuille de calcul : prend la valeur donnée et calcule la partie de la valeur à multiplier par le pourcentage de remise de chaque niveau.
Prérequis
Pour utiliser cet exemple, vous devez remplir les conditions préalables suivantes:
- Un compte Google (l'approbation de l'administrateur peut être nécessaire pour les comptes Google Workspace).
- Un navigateur Web avec accès à Internet
Configurer le script
Cliquez sur le bouton ci-dessous pour créer une copie de la feuille de calcul Fonction personnalisée de tarification par niveau. Le projet Apps Script de cette solution est joint à la feuille de calcul.
Créer une copie
Exécuter le script
- Dans la feuille de calcul que vous avez copiée, le tableau de la ligne 16 présente un exemple de calcul du prix d'un produit SaaS (Software as a Service).
- Pour calculer le montant de la remise, saisissez
=tierPrice(C19,$B$3:$D$6)
dans la celluleC20
. Le prix final est mis à jour dans la celluleC21
. Si vous vous trouvez dans une région qui utilise des virgules décimales, vous devrez peut-être saisir=tierPrice(C19;$B$3:$D$6)
à la place.
Examiner le code
Pour consulter le code Apps Script de cette solution, cliquez sur Afficher le code source ci-dessous:
Afficher le code source
Code.gs
Modifications
Vous pouvez modifier la fonction personnalisée autant que vous le souhaitez pour l'adapter à vos besoins. Vous trouverez ci-dessous une option facultative pour actualiser manuellement les résultats de la fonction personnalisée.
Actualiser les résultats mis en cache
Contrairement aux fonctions intégrées, Google met en cache les fonctions personnalisées pour optimiser les performances. Par conséquent, si vous modifiez quelque chose dans votre fonction personnalisée, comme une valeur en cours de calcul, il est possible qu'elle ne force pas immédiatement une mise à jour. Pour actualiser manuellement le résultat de la fonction, procédez comme suit:
- Pour ajouter une case à cocher dans une cellule vide, cliquez sur Insertion > Case à cocher.
- Ajoutez la cellule contenant la case à cocher en tant que paramètre supplémentaire de la fonction personnalisée. Par exemple, si vous ajoutez une case à cocher à la cellule
D20
, mettez à jour la fonctiontierPrice()
dans la celluleC20
avec=tierPrice(C19,$B$3:$D$6,D20)
. - Cochez ou décochez la case pour actualiser les résultats de la fonction personnalisée.
Contributeurs
Cet exemple est géré par Google avec l'aide des experts Google pour les développeurs.