Comprendre la Fonction INDEX d'Excel
La fonction INDEX est une fonction de recherche et de référence qui renvoie la valeur d'une cellule dans une plage, en fonction de son numéro de ligne et de colonne. Elle existe sous deux formes :
- Forme matricielle :
INDEX(matrice, no_lig, [no_col]) - Forme de référence :
INDEX(référence, no_lig, [no_col], [no_zone])
Nous allons principalement nous concentrer sur la forme matricielle, qui est la plus couramment utilisée et la plus simple à comprendre. La forme de référence est plus avancée et permet de travailler avec plusieurs plages non contiguës.
Syntaxe de la Fonction INDEX (Forme Matricielle)
La syntaxe de la fonction INDEX (forme matricielle) est la suivante :
=INDEX(matrice, no_lig, [no_col])
Où :
- matrice : La plage de cellules dans laquelle vous souhaitez rechercher la valeur. Elle doit être une plage continue.
- no_lig : Le numéro de la ligne dans la matrice à partir de laquelle vous souhaitez renvoyer une valeur. Si omis,
no_colest obligatoire. - no_col : (Facultatif) Le numéro de la colonne dans la matrice à partir de laquelle vous souhaitez renvoyer une valeur. Si omis,
no_ligest obligatoire.
Important : Les numéros de ligne et de colonne sont relatifs à la matrice, et non à la feuille de calcul entière. Par exemple, si votre matrice est B2:D10, la ligne 1 correspond à la ligne B2, et la colonne 1 correspond à la colonne B.
Utilisation Basique de la Fonction INDEX
Commençons par un exemple simple pour illustrer le fonctionnement de la fonction INDEX.
Exemple 1 : Extraire une valeur unique
Supposons que vous ayez un tableau contenant des noms de produits et leurs prix dans les cellules A1:B5 :
| Produit | Prix |
|---|---|
| Pomme | 1.00 |
| Banane | 0.75 |
| Orange | 1.20 |
| Fraise | 2.50 |
| Raisin | 3.00 |
Pour extraire le prix de l'orange (qui se trouve à la ligne 3 et colonne 2 de notre tableau), vous utiliserez la formule suivante :
=INDEX(A1:B5, 3, 2)
Cette formule renverra la valeur 1.20.
Explication :
A1:B5est la matrice (la plage de cellules contenant les données).3est le numéro de la ligne (Orange est à la troisième ligne).2est le numéro de la colonne (Le prix est dans la deuxième colonne).
Exemple 2 : Extraire une valeur d'une seule colonne
Si vous souhaitez extraire une valeur d'une plage qui ne contient qu'une seule colonne, vous pouvez omettre l'argument no_col. Par exemple, pour extraire le nom du produit à la ligne 4 (Fraise), vous utiliserez la formule suivante :
=INDEX(A1:A5, 4)
Cette formule renverra la valeur Fraise.
De même, pour extraire une valeur d'une seule ligne, vous pouvez omettre l'argument no_lig et spécifier uniquement no_col.
INDEX et EQUIV : Un Duo Puissant
La fonction INDEX devient encore plus puissante lorsqu'elle est combinée avec la fonction EQUIV. EQUIV permet de trouver la position d'une valeur dans une plage, ce qui permet de rendre la fonction INDEX plus dynamique.
La Fonction EQUIV
La fonction EQUIV recherche une valeur spécifique dans une plage de cellules et renvoie la position relative de cette valeur dans la plage.
La syntaxe de la fonction EQUIV est la suivante :
=EQUIV(valeur_recherchée, plage_recherche, [type])
Où :
- valeur_recherchée : La valeur que vous souhaitez rechercher.
- plage_recherche : La plage de cellules dans laquelle vous souhaitez rechercher la valeur.
- type : (Facultatif) Le type de correspondance. Les valeurs possibles sont :
1: EQUIV trouve la plus grande valeur inférieure ou égale àvaleur_recherchée. La plage de recherche doit être triée en ordre croissant.0: EQUIV trouve la première valeur qui correspond exactement àvaleur_recherchée. La plage de recherche n'a pas besoin d'être triée.-1: EQUIV trouve la plus petite valeur supérieure ou égale àvaleur_recherchée. La plage de recherche doit être triée en ordre décroissant.
Le plus souvent, vous utiliserez le type 0 pour une correspondance exacte.
Combiner INDEX et EQUIV
En combinant INDEX et EQUIV, vous pouvez créer des formules qui recherchent une valeur et renvoient une information associée, sans avoir à connaître la position exacte de la valeur dans le tableau. Ceci est particulièrement utile lorsque la position des données peut changer.
Exemple 3 : Recherche dynamique avec INDEX et EQUIV
Reprenons notre tableau de produits et de prix :
| Produit | Prix |
|---|---|
| Pomme | 1.00 |
| Banane | 0.75 |
| Orange | 1.20 |
| Fraise | 2.50 |
| Raisin | 3.00 |
Supposons que vous vouliez trouver le prix d'un produit en entrant son nom dans une cellule (par exemple, en D1). Vous pouvez utiliser la formule suivante :
=INDEX(B1:B5, EQUIV(D1, A1:A5, 0))
Explication :
EQUIV(D1, A1:A5, 0)recherche la position du nom du produit entré dans la celluleD1dans la plageA1:A5. Par exemple, siD1contient "Orange", EQUIV renverra3.INDEX(B1:B5, EQUIV(D1, A1:A5, 0))utilise le résultat de EQUIV (la position) pour extraire le prix correspondant dans la plageB1:B5. Dans notre exemple, elle extrait la valeur à la position 3, qui est1.20.
Cette formule est beaucoup plus flexible que l'utilisation directe de la fonction INDEX avec des numéros de ligne fixes, car elle s'adapte automatiquement si l'ordre des produits change dans le tableau.
INDEX vs. RECHERCHEV
La fonction INDEX combinée à EQUIV est souvent considérée comme une alternative plus puissante et plus flexible à la fonction RECHERCHEV. Voici quelques avantages d'INDEX et EQUIV par rapport à RECHERCHEV :
- Flexibilité : INDEX et EQUIV peuvent rechercher des valeurs à gauche de la colonne de recherche, ce qui n'est pas possible avec RECHERCHEV.
- Moins de vulnérabilité aux insertions/suppressions de colonnes : RECHERCHEV dépend du numéro de la colonne de résultat, qui peut changer si vous insérez ou supprimez des colonnes. INDEX et EQUIV sont moins affectés car ils utilisent des plages.
- Performance : Dans certains cas, INDEX et EQUIV peuvent être plus performants que RECHERCHEV, surtout pour les grands tableaux.
Cependant, RECHERCHEV reste une fonction plus simple à utiliser pour les recherches basiques, et elle peut être suffisante dans de nombreux cas.
Erreurs Courantes et Comment les Éviter
Voici quelques erreurs courantes lors de l'utilisation de la fonction INDEX, et comment les éviter :
- Erreur #REF! : Cette erreur se produit généralement lorsque le numéro de ligne ou de colonne spécifié est en dehors de la plage de la matrice. Vérifiez que les numéros de ligne et de colonne sont corrects et qu'ils se trouvent bien dans la plage de la matrice.
- Erreur #VALUE! : Cette erreur peut se produire si vous utilisez une valeur non numérique pour le numéro de ligne ou de colonne. Assurez-vous que les arguments
no_ligetno_colsont bien des nombres. - Résultats incorrects : Vérifiez que la matrice que vous avez spécifiée est correcte et qu'elle contient les données que vous souhaitez extraire. Assurez-vous également que les numéros de ligne et de colonne correspondent à la cellule que vous recherchez.
Conseils et Astuces pour Maîtriser la Fonction INDEX
- Utilisez des noms de plages : Pour rendre vos formules plus lisibles et plus faciles à comprendre, utilisez des noms de plages au lieu de références de cellules directes. Par exemple, vous pouvez nommer la plage
A1:B5"TableauProduits", et utiliserINDEX(TableauProduits, 3, 2). - Combinez INDEX et EQUIV pour des recherches dynamiques : Comme nous l'avons vu, INDEX et EQUIV forment une combinaison puissante pour effectuer des recherches dynamiques dans les tableaux. Entraînez-vous à les utiliser ensemble pour résoudre des problèmes plus complexes.
- Utilisez la validation de données : Pour éviter les erreurs de saisie dans la cellule de recherche (par exemple, en
D1dans notre exemple), utilisez la validation de données pour créer une liste déroulante des noms de produits. Cela garantit que l'utilisateur ne peut entrer que des valeurs valides. - Documentez vos formules : Si vous utilisez des formules INDEX complexes, ajoutez des commentaires pour expliquer leur fonctionnement. Cela facilitera la compréhension et la maintenance de vos feuilles de calcul.
Conclusion
La fonction INDEX d'Excel est un outil puissant et polyvalent qui permet d'extraire des données spécifiques de tableaux en fonction de leur position. Combinée à la fonction EQUIV, elle devient une alternative flexible et performante à la fonction RECHERCHEV. En comprenant son fonctionnement et en pratiquant avec des exemples concrets, vous pouvez maîtriser la fonction INDEX et l'utiliser pour résoudre une grande variété de problèmes dans vos feuilles de calcul Excel.