Pourquoi INDEX et EQUIV vont devenir vos meilleurs amis sur Excel

Ah, les fameuses fonctions INDEX et EQUIV ! Si vous avez déjà pesté contre RECHERCHEV parce qu’elle ne cherche qu’à gauche, ou si vous avez eu du mal à croiser des données extraites d’un CRM ou d’un tableau fournisseur, vous allez adorer cette combinaison.

Dans cet article, on va voir comment ces deux fonctions — prises séparément très puissantes, et ensemble quasi-magiques — peuvent vous aider à gagner en souplesse dans vos recherches dynamiques sur Excel. Prêt à passer au niveau supérieur ?

Une recherche plus intelligente qu’un simple RECHERCHEV

La fonction RECHERCHEV, ça dépanne. Mais elle a ses limites :

  • Elle ne cherche que vers la droite.
  • En cas de modification de l’ordre des colonnes : tout casse.
  • Impossible de rechercher par ligne (c’est une recherche verticale, après tout).

La combinaison INDEX + EQUIV résout TOUT ça. C’est un peu le couteau suisse des fonctions de recherche d’Excel : plus rapide, plus flexible, moins sujette à l’erreur.

Décryptage : INDEX et EQUIV, comment ça marche ?

Avant de les marier, commençons par les connaître un peu mieux individuellement.

La fonction INDEX

La fonction INDEX retourne la valeur d’une cellule à la croisée d’une ligne et d’une colonne, dans une plage donnée.

Syntaxe : =INDEX(plage, no_ligne, [no_colonne])

Exemple :

Vous avez une table de prix, et vous voulez récupérer la valeur située à la 2ème ligne et 3ème colonne :

=INDEX(B2:D4,2,3)

Bingo : Excel vous renvoie la valeur en 2ème ligne, 3ème colonne de votre plage.

La fonction EQUIV

EQUIV, c’est le GPS d’Excel : il vous donne la position d’une valeur dans un tableau, au lieu de sa valeur.

Syntaxe : =EQUIV(valeur_cherchée, plage_de_recherche, [type_de_correspondance])

En général, on met 0 comme type de correspondance pour une recherche exacte.

Exemple :

Vous cherchez la position de “Nathan” dans la liste suivante : A2:A6 contient {Julien, Emma, Nathan, Clara, Lucas}

=EQUIV("Nathan",A2:A6,0)

→ Résultat : 3 (Nathan est en 3e position dans la plage).

Marier INDEX et EQUIV pour une recherche dynamique

C’est maintenant que la magie opère. L’idée est simple : vous utilisez EQUIV pour déterminer la position de l’élément que vous voulez trouver, puis INDEX pour extraire la valeur correspondante à cette position.

Exemple concret :

Imaginons un tableau de données type :

Nom Département Salaire
Emma RH 3200
Nathan Commerce 3800
Clara Marketing 3500

Vous voulez retrouver le salaire de “Nathan”. Voici la formule magique :

=INDEX(C2:C4, EQUIV("Nathan", A2:A4, 0))

C2:C4 est la colonne des salaires.

A2:A4 est la colonne où on cherche “Nathan”.

Excel vous renvoie… 3800. Facile, non ? 😎

Changer la colonne de retour sans tout casser

Ce que j’adore avec cette méthode, c’est qu’on est totalement libre de choisir la colonne de retour (ou même la ligne, dans le cas d’INDEX en deux dimensions).

Dans le même exemple, si demain vous voulez retrouver le département de “Nathan”, il suffit de changer la colonne cible :

=INDEX(B2:B4, EQUIV("Nathan", A2:A4, 0))

→ Résultat : “Commerce”.

Aucune dépendance à l’ordre des colonnes. Pas besoin de recompter 1, 2, 3 jusqu’à la colonne cible comme dans RECHERCHEV. On travaille avec des plages précises. Plus robuste, plus clair.

Et si on cherchait en deux dimensions ?

Envie d’associer une ligne et une colonne dans vos recherches ? C’est aussi possible avec INDEX + deux EQUIV !

Exemple : Vous avez un tableau croisé comme ceci :

Janvier Février Mars
Emma 22 25 20
Nathan 18 21 23
Clara 24 27 26

On veut retrouver le nombre de ventes de “Clara” en “Février” :

=INDEX(B2:D4, EQUIV("Clara", A2:A4, 0), EQUIV("Février", B1:D1, 0))

Clara est à la 3ème ligne, Février à la 2ème colonne — Boum : 27

Cas pratique : tableau de bord dynamique

Petit clin d’œil à un projet perso que j’ai accompagné récemment : un tableau de bord RH qui affiche des infos détaillées sur un employé sélectionné depuis une liste déroulante. Nom, département, salaire, ancienneté, formation… Le tout mis à jour automatiquement.

Comment ? Grâce à INDEX/EQUIV couplé à une liste déroulante (via la validation de données). À chaque changement de nom, toutes les infos s’actualisent.

P’tit aperçu de la formule : =INDEX(Données!C2:C100, EQUIV(Nom_choisi, Données!A2:A100, 0))

Vous imaginez le même outil avec RECHERCHEV ? Instable, lent, et surtout… bien plus fragile face à une modification du tableau source.

Conseils de pro pour une intégration solide

Quelques bonnes pratiques pour tirer le meilleur parti de nos deux héros :

  • Nommez vos plages : utiliser des noms comme “liste_noms” ou “colonne_salaires” améliore la lisibilité (et c’est plus propre !).
  • Verrouillez les plages avec les $ : si vous copiez votre formule, pensez à bloquer les plages avec $A$2:$A$100 pour éviter les surprises.
  • Encadrez les erreurs : ajoutez SIERREUR ou SI.NV pour éviter les #N/A en cas de valeur introuvable.

=SIERREUR(INDEX(...), "Non trouvé")

Un petit geste qui améliore grandement l’expérience utilisateur.

Et si je veux tout automatiser ?

Vous êtes amateur de VBA ou de macros ? Sachez que la logique INDEX/EQUIV s’intègre parfaitement dans des tableaux dynamiques pilotés par du code.

Dans un projet de suivi commercial que j’ai réalisé (avec 400 lignes de données monthly), j’ai bâti un formulaire utilisateur en VBA qui va chercher en direct les infos de chaque client via EQUIV dans une colonne, puis INDEX dans les autres. Résultat : affichage instantané des résultats sans risque d’erreur humaine.

INDEX + EQUIV : vos alliés pour l’automatisation

En résumé, si vous cherchez un combo léger, robuste, polyvalent et facile à maintenir pour vos besoins d’automatisation ou d’analyse dynamique… vous l’avez trouvé.

Faites passer vos feuilles Excel de « feuilles de calcul » à « feuilles intelligentes », avec un soupçon de méthode et une bonne dose de INDEX + EQUIV. 💡

Et si vous avez un cas d’usage à me partager, une formule qui bug ou une idée de tuto que vous aimeriez voir sur le blog : ma boîte mail est grande ouverte 😊

À vous de jouer !