Affichage des articles dont le libellé est Fonctions. Afficher tous les articles
Affichage des articles dont le libellé est Fonctions. Afficher tous les articles

Comment créer une formule associant Index et Equiv pour calculer un total d’une façon dynamique ?

Dans cet article de la formation Excel vous allez apprendre comment vous servir des fonctions INDEX et EQUIV pour créer une formule intelligente qui vous permettra de calculer des totaux d’une façon dynamique et rapide.


Comment créer une formule associant Index et Equiv  pour calculer un total d’une façon dynamique


Le propriétaire d’un magasin de jouets a créé trois tableaux dans lesquels il a saisi ses données d’achats auprès des trois fournisseurs, et dans un tableau récapitulatif il souhaite calculer les totaux des quantités achetées comme c’est illustré dans l’image suivante :

 

Tableaux d'achats

Dans la vidéo ci-dessous, je vais donc vous expliquer étape par étape comment arriver à créer une formule qui va calculer ces totaux en utilisant les deux fonctions INDEX et EQUIV imbriquées dans la fonction SOMME.

Ce calcul sera effectué d’une façon dynamique et se mettra à jour automatiquement à chaque modification des valeurs contenues dans les trois tableaux.

Regardez la vidéo maintenant :

 


  • Suivez également ces liens pour apprendre plus sur l'utilisation des fonctions INDEX & EQUIV :

** Comment utiliser la fonction INDEX

** Comment utiliser la fonction EQUIV 

** Comment utiliser les deux fonctions INDEX et EQUIVconjointement pour effectuer les bonnes recherches


Comment utiliser RECHERCHEV pour calculer un total d'une façon dynamique ?

 

Dans la leçon d’aujourd’hui de la formation Excel, vous allez apprendre comment créer une formule intelligente se constituant des deux fonctions RECHERCHEV et SOMME, pour calculer les totaux d’achats d’une façon dynamique.

 

Comment utiliser RECHERCHEV pour calculer un total d'une façon dynamique

Dans l’exemple sur lequel on va travailler aujourd’hui, notre ami le vendeur de jouets a saisi les données d’achats de la façon suivante :

Il a conservé la même structure des tableaux mais l’ordre de saisie des noms des jouets n’est pas respecté dans les trois tableaux.

Tableaux d'achats

Notre objectif donc est de trouver la bonne formule qui va nous permettre de pouvoir calculer les totaux d’achats d’une façon dynamique et quel que soit l’ordre des noms des jouets. Et c’est ça qu’on va découvrir tout de suite dans cette vidéo :




Bien comprendre comment utiliser la fonction INDIRECT

La Fonction INDIRECT est une fonction si intéressante et qui demande plus d’attention lors de son utilisation. Elle permet de chercher le contenu de la ou des cellules spécifiées par leurs références.

Pour vous aider à bien comprendre comment l’utiliser, mettez en pratique ces exemples où je ferai de mon mieux pour vous simplifier leurs explications.
 Comment utiliser la fonction INDIRECT

La syntaxe de la fonction INDIRECT

Sa syntaxe est la suivante : INDIRECT(réf_texte ;[a1])
La fonction INDIRECT contient donc deux arguments :
  1. réf_texte : obligatoire, il doit être une référence à une cellule ou à une plage de cellule, cette référence pourra être de type A1, L1C1 ou nom de cellule ou de plage de cellules. Et pour que la fonction INDIRECT renvoie le contenu de la cellule (des cellules) référencée (es), vous devez mettre sa référence entre guillemets.
  2. [a1] : cet argument est facultatif, il représente le type de référence défini dans Excel. Généralement c’est le type A1 (Colonnes numérotées en lettres et lignes en chiffres) dans ce cas vous n’êtes pas obligé de mentionner sa valeur VRAI, mais ; si le type de référencement est L1C1, vous devez alors saisir la valeur FAUX pour cet argument.

Comment utiliser la fonction INDIRECT ?

  • En référençant une cellule

Exemple 1 – INDIRECT renvoie un résultat statique

Dans l’illustration suivante, vous voyez que la cellule A2 contient le texte « J’apprends bien ! ».

Cellule à remplir avec INDIRECT


Supposons que vous aimeriez que ce texte soit affiché dans la cellule D4 en utilisant la fonction INDIRECT. Vous allez donc taper dans D4 cette formule :
=INDIRECT("A2")

Et lorsque vous tapez Entrée, vous obtiendrez donc votre résultat attendu.

Indirect renvoie résultat statique


Vous venez donc de respecter la règle de la syntaxe de la fonction INDIRECT, en mettant la référence A2 dont vous souhaitez afficher son contenu, entre guillemets.

Or, si vous saisissez la formule suivante : =INDIRECT(A2), Excel vous renvoie une erreur #REF !

Problème de référence avec INDIRECT


  • Pourquoi ?
Voyons ensemble comment Excel exécute cette formule pour déterminer la cause de ce problème :
  • La fonction INDIRECT lit l’argument A2 et comprend que vous ne l’avez pas mentionné comme référence puisque vous avez omis les guillemets, alors elle constate que vous lui demandez d’aller chercher la référence cible dans le contenu de la cellule A2.
    • La cellule A2 contient : J’apprends bien !, INDIRECT va donc remplacer A2 par son contenu ce qui donne : =INDIRECT(" J’apprends bien ! ")
      • Dans la dernière étape, INDIRECT évalue la chaîne de texte « J’apprends bien ! », il n’est ni référence de type A1 ni un nom de cellule, elle détecte donc que ce n’est pas une bonne référence.

C’est pour cette raison qu’elle renvoie erreur de référence #REF ! (Vous trouvez plus de détails sur cette erreur et d’autres ici: Les erreurs dans Excel

J’espère que c’est clair !

Exemple 2 – INDIRECT renvoie un résultat dynamique

Remplissage cellule dynamique avec INDIRECT


Dans cet exemple, remarquez que j’ai saisi trois valeurs différentes :
  • B2 contient le texte : Facture
  • B3 contient la date :15/07/2019
  • B4 que j’ai nommée Montant, contient le montant : 750.00 €


Dans la cellule E7, vous allez utiliser la fonction INDIRECT pour demander à Excel d’afficher l’une de ces valeurs et ceci en prenant en considération la référence que vous allez préciser dans la cellule H3.
  • Ecrivez donc dans H3 : B2
    • Dans la cellule E7 saisissez =INDIRECT(H3)
Et voici comment va se dérouler l’exécution de cette formule :
    • =INDIRECT(H3)
      • =INDIRECT("B2") : INDIRECT utilise le contenu de la cellule H3 qui est B2 et le met entre guillemets " "
        • E7 affiche enfin Facture
Déroulement de INDIRECT

  • Modifiez B2 par B3
En respectant les mêmes étapes d’exécution :
    • INDIRECT renvoie 43661
    • Mettez alors la cellule E7 au format Date pour faire afficher la date correctement
Exemple de l utilisation de INDIRECT

  • Cette fois écrivez dans H3: Montant, qui est le nom de la cellule B4 

INDIRECT sera exécutée en passant par ces étapes:
  • =INDIRECT(H3)
    • =INDIRECT("Montant")
      • INDIRECT renvoie le contenu de la cellule Montant : 750, que vous pouvez lui appliquer ensuite le format monétaire.
utilisation de INDIRECT dynamique


En référençant une plage de cellules

– Utilisation statique

Exemple 3

Dans l’exemple ci-dessous, vous avez une liste des fruits, et un tableau de données composé de quatre colonnes : Fruits, Qte(quantité), Prix Unit (unitaire) et Total

Remplissage automatique de colonne avec INDIRECT


Au lieu de reprendre la saisie des noms des fruits ; contenus dans la plage de cellules A6:A10 ; dans la colonne Fruits et précisément dans la plage de cellules E6:E10, vous aller vous servir de la fonction INDIRECT pour vous faciliter la tâche.
Et puisque vous avez 5 valeurs à afficher et à fin d’obtenir un meilleur résultat, vous êtes appelé à utiliser INDIRECT dans une formule matricielle.
  • Sélectionnez tout d’abord la plage E6:E10.
  • Allez dans la barre de formule et écrivez =INDIRECT("A6 :A10") puis validez en combinant Ctrl+Maj+Entrée
  • Remarquez que la référence de la plage de cellules est mise entre guillemets elle aussi.
INDIRECT dans une formule matricielle


Exemple 4

Reprenons le même exemple dernier, mais cette fois, et au lieu d’utiliser cette référence A6:A10 dans INDIRECT, vous allez la remplacer par un nom défini pour elle.
  • Sélectionnez A6:A10 et nommez-la Fruits.
  • Sélectionnez la plage de cellules E6:E10 puis dans la barre de formule saisissez =INDIRECT("Fruits") et validez enfin par Ctrl+Maj+Entrée
utilisation de INDIRECT avec nom de plage de cellules


– Utilisation dynamique

Exemple 5

Supposons dans cet exemple que vous avez deux colonnes comme sources de données : Fruits et Légumes, et que vous avez une liste déroulante dans l’entête de la première colonne de votre tableau de données.

Indirect et liste déroulante


Vous désirez par exemple que lorsque vous sélectionnez entre Fruits ou Légumes, Excel vous affichera les éléments de la source de données correspondant à votre sélection.
  • Définissez en premier le nom Fruits pour la plage de cellules A6:A10 et Légumes pour la plage B6 :B10.
  • Sélectionnez la cellule F5 et créez ensuite une liste déroulante en utilisant l’outil Validation des données et qui comportera les deux noms juste créés :Fruits et Légumes.
  • Sélectionnez maintenant la plage de cellules F6:F10 et dans la barre de formule tapez : =INDIRECT(F5) puis validez par Ctrl+Maj+Entrée.
  • Choisissez entre Fruits ou Légumes à chaque fois.
Indirect liée à une liste déroulante



L’exécution de INDIRECT dans cet exemple suit le même principe expliqué dans l’exemple 2 vu en haut :
  • Quand vous sélectionnez Légumes par exemple, voici ce qui se produit :
    • L’argument réf_texte reçoit Légumes que contient la cellule F5 et est mis entre guillemets : =INDIRECT("Légumes")
    • en exécutant la formule matricielle intégrant INDIRECT, elle cherche les 5 noms de légumes dans la plage de cellules Légumes et les place successivement dans les cellules de la plage F6 :F10


Exemple 6

L’avantage de la fonction INDIRECT parait clairement lorsqu’on l’intègre dans d’autres fonctions :Somme, RECHERCHEV, MIN,MAX ou lorsqu’on veut créer des listes déroulantes dépendantes par exemple.
Je vous invite à suivre ce lien Comment créer des listes déroulantes dépendantes, pour découvrir comment on s’est servi de la fonction INDIRECT pour remplir une liste déroulante dépendant d’une autre.

 Comment créer des listes déroulantes dépendantes


En reprenant cet exemple, la formule utilisée est  =INDIRECT($D$12) et une fois validée, l’argument $D$12 sera remplacé par le nom de la plage de cellules contenu dans cette cellule, puis la liste 2 accueillera les valeurs de cette plage.