La fonction INDEX()
La syntaxe de la fonction : INDEX(Plage; NbLigne; NbColonne)
1. But : obtenir la valeur d'une cellule
La fonction INDEX rend la valeur contenue dans une cellule lorsque les paramètres qui lui sont transmis sont :
- une plage de cellules (dans l' exemple : D4:G12)
- nbLigne : un nombre compris entre 1 et le nombre de ligne de la plage donnée en paramètre 1 (dans l'exemple : nbLigne = 8 et sa valeur max sera 9 )
- nbColonne : un nombre compris entre 1 et le nombre de colonne de la plage donnée en paramètre 1 (dans l'exemple : nbColonne = 3 et sa valeur max sera 4 )
Dans l'exemple le résultat de INDEX(D4:G12;8;3) est 10, contenu de la cellule F11 qui est à l'intersection de la 8ème ligne et de la 3ème colonne de la plage D4:G12
Visualisation : Dans la plage D4:G12, un marqueur jaune trace la ligne NbLigne et un marqueur bleu la colonne NbColonne. La cellule ciblée est à l'intersection des 2 traits
2. Cas particuliers :
Lorsque le 3 ème paramètre de la fonction INDEX est absent ( ou est égal à 0) , le rendu de la fonction index dépend du contexte.
Exemple 1 :
index(D4:G12;2) : ici le paramètre NbColonne est absent (donc vaut 0). INDEX ne rend plus une valeur mais la référence d'une plage de cellule, celle formée par les cellules D5:G5 ; ie la 2ème ligne de la plage D4:G12.

Visualisation : un marqueur jaune trace la ligne NbLigne (la 2ème), le marqueur bleu n'est pas utilisé car il n'y a pas de colonne NbColonne. On ne voit que la plage ciblée en jaune
Exemple 2 :
index(D4:D12;7) : ici le paramètre NbColonne est toujours absent (donc vaut 0) et la plage est une portion de colonne (la D). Le rendu d' INDEX, sera :
- la valeur de la cellule D10 car le surlignage jaune est une cellule ( dans l'exemple = INDEX(D4:D12;7) vaut 7)
- ou la référence (son adresse dans la feuille de calcul) de la cellule D10 si INDEX est un argument de fonction, par exemple dans
- SOMME (D4:INDEX(D4:D12;7)) qui donne 28
- ou SOMME (D4 ; INDEX(D4:D12;7)) qui donne 8 (1 +7)

Lorsque le 2 ème paramètre (NbLigne) de la fonction INDEX est égal à 0 , le rendu de la fonction index dépend du contexte.
Exemple 1 :
index(D4:G12;0; 2) : ici le paramètre NbLigne vaut 0. INDEX ne rend plus une valeur mais la référence d'une plage de cellule, celle formée par les cellules E5:E12 ; ie la 2ème colonne de la plage D4:G12.

Visualisation : le marqueur jaune n'est pas utilisé( NbLigne=0), le marqueur bleu trace la colonne NbColonne (la 2ème) . On ne voit que la plage ciblée en bleu.
Exemple 2 :
index(D4:G4;0;3) : ici le paramètre NbLigne est vaut toujours 0 mais la plage est une portion de ligne (la 4). Le rendu d' INDEX, sera :
- la valeur de la cellule E4 ( par exemple = INDEX(D4:G4;0;3) vaut 3)
- la référence de la cellule E4 (son adresse dans la feuille de calcul) si INDEX est un argument de fonction, par exemple dans
- SOMME (D4:INDEX(D4:G4;0;3)) qui donne 6
- ou SOMME (D4 ; INDEX(D4:G4;0;3)) qui donne 4 (1 +3)

3. La combinaison INDEX EQUIV
Les paramètres NbLigne et NbColonne de la fonction INDEX peuvent être obtenus par "calcul", en autres, grâce à la fonction EQUIV.

La fonction EQUIV() utilise 3 arguments :
- l'élément cherché
- la portion de ligne (ou de colonne) où doit s'effectuer la recherche
- 0 (pour rechercher une correspondance exacte)
et rend la position de l'élément cherché dans la (portion de) ligne ou de colonne..
Exemple :
INDEX(A2:G8;EQUIV("Pages en noir et blanc";A2:A8;0);EQUIV("B207";A2:G2;0))

Dans cette formule NbLigne est le résultat de EQUIV("Pages en noir et blanc";A2:A8;0) donc a 7 pour valeur;
NbColonne est le résultat de EQUIV("B207";A2:G2;0) donc a 5 pour valeur.
La formule INDEX(A2:G8;EQUIV("Pages en noir et blanc";A2:A8;0);EQUIV("B207";A2:G2;0)) équivaut donc à INDEX(A2:G8;7;5) et donne la valeur 6011 qui est le nombre de pages imprimées en noir et blanc dans la salle B207
Si l'on transforme la formule en
INDEX($A$1:$AMJ$1048576;EQUIV("Pages en noir et blanc";$A:$A;0);EQUIV("B207";$2:$2;0))
Cela conduit à la gestion dynamique des données (à découvrir ICI) car cette formule fonctionnera toujours, et rendra toujours le nombre de pages imprimées en noir et blanc en salle B207 même si sont insérés des critères supplémentaires à n'importe quelle position de la colonne A (la plage $A:$A) et des salles nouvelles à n'importe quelle position de la ligne 2 (la plage $2:$2)
note : la plage $A$1:$AMJ$1048576 ou $1:$1048576 correspond à toutes les cellules de la feuille de calcul en cours d'utilisation pour LibreOffice Calc ou MS Excel