La fonction INDEX renvoie une valeur ou une référence à une valeur provenant d’un tableau ou d’une plage.
Il existe deux façons d'utiliser la fonction INDEX :
-
Si vous voulez renvoyer la valeur d’une cellule ou d’une matrice de cellules spécifiée, voir Forme matricielle.
-
Si vous souhaitez renvoyer une référence à des cellules spécifiées, voir Forme référentielle.
Forme matricielle
Description
Renvoie la valeur d’un élément d’un tableau ou d’une matrice, sélectionné à partir des index de numéros de ligne et de colonne.
Utilisez la forme matricielle si le premier argument de la fonction INDEX est une constante matricielle.
Syntaxe
INDEX(matrice; no_lig; [no_col])
La forme de tableau de la fonction INDEX a les arguments suivants :
-
matrice Obligatoire. Représente une plage de cellules ou une constante matricielle.
-
Si l’argument matrice contient une seule ligne ou colonne, l’argument no_lig ou no_col est facultatif.
-
Si l’argument matrice comporte plusieurs lignes et plusieurs colonnes et que seul l’argument no_lig ou no_col est utilisé, la fonction INDEX renvoie une matrice des valeurs de la ligne ou de la colonne entière de la matrice.
-
-
row_num Obligatoire, sauf si column_num est présent. Sélectionne la ligne de la matrice dont une valeur doit être renvoyée. Si row_num est omis, column_num est nécessaire.
-
column_num Facultatif. Sélectionne la colonne de la matrice dont une valeur doit être renvoyée. Si column_num est omis, row_num est nécessaire.
Remarques
-
Si les arguments row_num et column_num sont utilisés, INDEX retourne la valeur dans la cellule à l’intersection de row_num et column_num.
-
row_num et column_num doivent pointer vers une cellule dans le tableau ; sinon, INDEX retourne un #REF! erreur.
-
Si vous définissez row_num ou column_num sur 0 (zéro), INDEX retourne le tableau de valeurs pour la colonne ou la ligne entière, respectivement. Pour utiliser les valeurs retournées sous forme de tableau, entrez la fonction INDEX sous forme de formule de tableau.
Remarque : Si vous avez une version actuelle de Microsoft 365, vous pouvez alors simplement entrer la formule dans la cellule supérieure gauche de la plage de sortie, puis appuyer sur Entrée pour confirmer la formule en tant que formule de tableau dynamique. Sinon, vous devez entrer la formule comme une formule de tableau héritée : sélectionnez la plage de sortie, entrez la formule dans la cellule en haut à gauche de la plage de sortie, puis appuyez sur Ctrl+Maj+Entrée pour confirmer la formule. Excel ajoute automatiquement des accolades au début et à la fin de la formule. Pour plus d’informations sur les formules de tableau, voir Instructions et exemples de formules de tableau.
Exemples
Exemple 1
Ces exemples utilisent la fonction INDEX pour rechercher la valeur dans la cellule d’intersection où une ligne et une colonne se croisent.
Copiez les données d’exemple dans le tableau suivant, et collez-le dans la cellule A1 d’un nouveau classeur Excel. Pour que les formules affichent des résultats, sélectionnez-les, appuyez sur F2, et sur Entrée.
Données |
Données |
|
---|---|---|
Pommes |
Citrons |
|
Bananes |
Poires |
|
Formule |
Description |
Résultat |
=INDEX(A2:B3;2;2) |
Valeur à l’intersection de la deuxième ligne et de la deuxième colonne de la plage A2:B3. |
Poires |
=INDEX(A2:B3;2;1) |
Valeur à l’intersection de la deuxième ligne et de la première colonne de la plage A2:B3. |
Bananes |
Exemple 2
Cet exemple utilise la fonction INDEX dans une formule matricielle pour rechercher les valeurs dans deux cellules spécifiées dans une matrice 2x2.
Remarque : Si vous avez une version actuelle de Microsoft 365, vous pouvez alors simplement entrer la formule dans la cellule supérieure gauche de la plage de sortie, puis appuyer sur Entrée pour confirmer la formule en tant que formule de tableau dynamique. Sinon, la formule doit être entrée en tant que formule de tableau héritée en sélectionnant d’abord deux cellules vides, en entrant la formule dans la cellule supérieure gauche de la plage de sortie, puis en appuyant sur Ctrl+Maj+Entrée pour la confirmer. Excel ajoute automatiquement des accolades au début et à la fin de la formule. Pour plus d’informations sur les formules de tableau, voir Instructions et exemples de formules de tableau.
Formule |
Description |
Résultat |
---|---|---|
=INDEX({1.2;3.4};0;2) |
Valeur de la première ligne, deuxième colonne de la matrice. La matrice contient 1 et 2 dans la première ligne, et 3 et 4 dans la deuxième ligne. |
2 |
Valeur de la deuxième ligne, deuxième colonne de la matrice (même matrice qu’auparavant). |
4 |
|
Formulaire de référence
Description
Renvoie la référence de la cellule située à l’intersection d’une ligne et d’une colonne déterminées. Si la référence est constituée de sélections non adjacentes, vous pouvez choisir la sélection à rechercher.
Syntaxe
INDEX(référence; no_lig; [no_col]; [no_zone])
La forme de référence de la fonction INDEX contient les arguments suivants :
-
référence Obligatoire. Représente une référence à une ou plusieurs plages de cellules.
-
Si vous entrez une plage non adjacente pour la référence, placez la référence entre parenthèses.
-
Si chaque zone de référence contient une seule ligne ou colonne, l’argument row_num ou column_num, respectivement, est facultatif. Par exemple, dans le cas d’un argument réf à une seule ligne, utilisez la fonction INDEX(réf;;no_col).
-
-
no_lig Obligatoire. Représente le numéro de la ligne de référence à partir de laquelle une référence doit être renvoyée.
-
column_num Facultatif. Représente le numéro de la colonne de référence à partir de laquelle une référence doit être renvoyée.
-
area_num Facultatif. Sélectionne une plage de référence à partir de laquelle retourner l’intersection de row_num et de column_num. La première zone sélectionnée ou entrée porte le numéro 1, la deuxième le numéro 2, et ainsi de suite. Si area_num est omis, INDEX utilise la zone 1. Les zones répertoriées ici doivent toutes se trouver sur une seule feuille. Si vous spécifiez des zones qui ne se trouvent pas sur la même feuille, cela provoquera une #VALUE ! erreur. Si vous devez utiliser des plages situées sur des feuilles différentes les unes des autres, il est recommandé d’utiliser la forme de tableau de la fonction INDEX et d’utiliser une autre fonction pour calculer la plage qui compose le tableau. Par exemple, vous pouvez utiliser la fonction CHOISIR pour calculer la plage à utiliser.
Par exemple, si référence décrit les cellules (A1:B4;D1:E4;G1:H4), area_num 1 correspond à la plage A1:B4, area_num 2 correspond à la plage D1:E4 et area_num 3 à la plage G1:H4.
Remarques
-
Une fois que la référence et les area_num ont sélectionné une plage particulière, row_num et column_num sélectionner une cellule particulière : row_num 1 est la première ligne de la plage, column_num 1 est la première colonne, etc. La référence retournée par INDEX est l’intersection entre row_num et column_num.
-
Si vous définissez row_num ou column_num sur 0 (zéro), INDEX retourne la référence pour la colonne ou la ligne entière, respectivement.
-
row_num, column_num et area_num doivent pointer vers une cellule dans la référence ; sinon, INDEX retourne un #REF! erreur. Si row_num et column_num sont omis, INDEX retourne la zone de référence spécifiée par area_num.
-
Le résultat de la fonction INDEX est une référence et est interprété comme tel par les autres formules. Selon la formule, la valeur de la fonction INDEX peut être utilisée comme une référence ou une valeur. Par exemple, la formule CELLULE("largeur";INDEX(A1:B2;1;2)) équivaut à la formule CELLULE("largeur";B1). La fonction CELLULE utilise la valeur renvoyée par la fonction INDEX comme une référence de cellule. Par ailleurs, une formule telle que 2*INDEX(A1:B2;1;2) traduit la valeur de la fonction INDEX en nombre dans la cellule B1.
Exemples
Copiez les données d’exemple dans le tableau suivant, et collez-le dans la cellule A1 d’un nouveau classeur Excel. Pour que les formules affichent des résultats, sélectionnez-les, appuyez sur F2, puis sur Entrée.
Fruit |
Prix |
Nb |
---|---|---|
Pommes |
0,69 € |
40 |
Bananes |
0,34 € |
38 |
Citrons |
0,55 € |
15 |
Oranges |
0,25 € |
25 |
Poires |
0,59 € |
40 |
Amandes |
2,80 € |
10 |
Noix de cajou |
3,55 € |
16 |
Cacahuètes |
1,25 € |
20 |
Noix |
1,75 € |
12 |
Formule |
Description |
Résultat |
=INDEX(A2:C6; 2; 3) |
Intersection de la deuxième ligne et de la troisième colonne de la plage A2:C6, qui représente le contenu de la cellule C3. |
38 |
=INDEX((A1:C6; A8:C11); 2; 2; 2) |
Intersection de la deuxième ligne et de la deuxième colonne de la deuxième zone A8:C11, qui représente le contenu de la cellule B9. |
1,25 |
=SOMME(INDEX(A1:C11; 0; 3; 1)) |
Somme de la troisième colonne de la première zone de la plage A1:C11, qui représente la somme de C1:C11. |
216 |
=SOMME(B2:INDEX(A2:C6 ;5; 2)) |
Somme de la plage commençant par B2 et finissant par l’intersection de la cinquième ligne et de la deuxième colonne de la plage A2:A6, qui représente la somme de B2:B6. |
2,42 |