Re : prestations réciproques
re
Si celà peut t'aider, voici un peu de détail sur cette formule et les fonctions utilisées:
C5-INDEX($C$18:$J$26;EQUIV(C$32;$B$18:$B$25;0);EQUIV($B33;$C$17:$J$17;0)):
On prend
C5 directement, car le tableau Ecart a exactement la même structure que le tableau Vendeur donc en recopiant la formule à droite ou vers le bas, il sera toujours fait référence à la bonne cellule du tableau Vendeur
INDEX($C$18:$J$26;EQUIV(C$32;$B$18:$B$25;0);EQUIV($B33;$C$17:$J$17;0))
Fonction Index:
Syntaxe: INDEX(matrice;no_lig;no_col)
Cette fonction permet de renvoyer la valeur d'un tableau, se trouvant à l'intersection d'une ligne et d'une colonne.
Dans notre exemple, la matrice de recherche est la plage de cellules du tableau Vendeur allant de
C18 à J26.
Afin de pouvoir copier et coller notre formule partout dans le tableau écart, les colonnes et les numéros de lignes sont précédés du signe
$, qui permet de "figer" la référence à cette plage fixe.
La plage de recherche étant déterminée, la fonction EQUIV() va permettre de trouver sur quelle ligne, et dans quelle colonne, se trouve la valeur que l'on cherche.
Fonction EQUIV
La fonction EQUIV recherche un élément dans une plage de cellules et renvoie la position relative de l’élément dans cette plage.
Syntaxe: EQUIV(valeur cherchée, plage, type)
Pour notre exemple:
EQUIV(
C$32;
$B$18:$B$25;
0) va permettre de déterminer le numéro de ligne
Valeur cherchée = C$32 : on cherche donc la valeur A
pour recopier la formule vers la droite, la colonne devra évoluer (on cherchera D$32 puis E$32 etc …) donc la référence de la colonne n'est pas précédée du signe $.
En revanche, pour pouvoir recopier la formule vers le bas en faisant toujours référence à la ligne 32, le numéro de ligne est précédé du signe $.
plage de recherche = $B$18:$B$2 : on cherche notre valeur dans la colonne B, entre les lignes 18 et 25 du tableau Acheteur.
Pour les mêmes raisons que ci-dessus, pour pouvoir copier coller la formule dans les autres lignes et colonnes de notre tableau Ecart, tout en faisant toujours référence à cette plage de cellules fixe, les colonnes et les lignes sont précédées du signe $.
type = 0 : Type zéro, indique que l'on recherche exactement cette valeur.
Les autres types disponibles sont 1 (pour rechercher la valeur la plus élevée inférieure ou égale à celle de la valeur cherchée) ou -1 ( pour rechercher la plus petite valeur supérieure ou égale à celle de la valeur cherchée)
si omis, par défaut le type est à 1
Concrètement dans notre exemple, le A est trouvé en B18, soit la 1ère ligne de la plage B18 à B25,
la formule renvoie donc le résultat 1 si nous cherchions B, la fonction aurait renvoyé 2 car le B se trouve sur la 2ème ligne.
Dans la deuxième partie de la formule, EQUIV($B33;$C$17:$J$17;0) permet de déterminer le numéro de colonne.
Valeur cherchée = $B33, on cherche donc 1.
plage de recherche = $C$17:$J$17 soit les valeurs de la ligne 17 du tableau Acheteur.
type = 0 : Valeur exacte comme pour la ligne
Concrètement dans notre exemple, le 1 est dans la colonne C, soit la 1ère colonne de la plage de recherche, la formule renvoie donc le résultat 1.
si nous cherchions 4, la formule aurait renvoyé 4 car cette valeur se trouve dans la 4ème colonne.
En conclusion:
= INDEX($C$18:$J$26;EQUIV(C$32;$B$18:$B$25;0);EQUIV($B33;$C$17:$J$17;0)) revient dans notre exemple à écrire :
=INDEX($C$18:$J$26;1;1) soit renvoyer la valeur se situant dans le tableau C18:J26, à l'intersection de la ligne 1 et de la colonne 1, et l'on obtient donc la valeur 9.
Voili voilou, suis un peu bavarde
... mais j'espère que cela t'aidera à comprendre ces fonctions et surtout les réutiliser pour d'autres choses, car elles sont vraiment bien pratiques.
Bonne soirée à toi et à une prochaine fois peut-être,
mth