Excel : Utiliser les fonctions de recherche adéquatement

Publié le 30 avril 2015
par Sophie Marchand M.Sc., CPA, CGA, MVP
Fonction recherche alternative

Excel : Utiliser les fonctions de recherche adéquatement

Les fonctions de recherche (lookup) sont sans doute les fonctions les plus utilisées par les usagers d’Excel. Toutefois, dans certains contextes, elles peuvent entraîner des problèmes de performance dans un fichier Excel. Cet article vise donc à renforcer vos connaissances par rapport aux fonctions de recherche Excel, à vous mettre en garde vis-à-vis de certaines pratiques et à vous donner des trucs pour développer une approche plus efficace, l’idée étant de réduire au maximum les temps de calcul de vos fonctions.

 

Ce qu’il faut savoir concernant les fonctions de recherche

D’abord, il est important de spécifier que lorsque vous utilisez une équivalence (match) exacte dans une fonction de recherche (lookup), le temps de calcul de la fonction est proportionnel au nombre de cellules à valider avant de trouver l’équivalence exacte. Si la plage de données sous-jacente est très volumineuse, le temps de calcul peut devenir significatif. Si possible, trier les données permettra d’optimiser le temps de recherche.

Si vous utilisez plutôt une équivalence approximative sur des données triées (très important), le temps de calcul n’est pas affecté par la taille de la plage de données sous-jacente. Les calculs se font rapidement.

 

Rappel des options d’équivalences (match) dans les fonctions de recherche

 

Fonction Match (ou Equiv en français)

Voici un tableau provenant du menu d’aide d’Excel qui explique comment est structurée la fonction Match (ou Equiv en français), quels sont ses paramètres et surtout, comment fonctionne le paramètre “type”, i.e. le type d’équivalence recherchée. Pour voir un exemple illustré, vous pouvez relire l’article: Excel: La fonction « Match » pour calculer le délai de récupération.

Fonction Equiv

 

Fonctions Vlookup/Hlookup (ou Recherchev/Rechercheh en français) 

Voici un tableau provenant du menu d’aide d’Excel qui explique comment est structurée la fonction Vlookup (ou Recherchev en français), quels sont ses paramètres et surtout, comment fonctionne le paramètre “valeur_proche”, i.e. le type d’équivalence recherchée. Pour voir un exemple illustré, vous pouvez relire l’article: Excel: Quand mettre un vrai dans un recherchev? 

Fonctions de recherche

 

Trucs pour augmenter la rapidité de calcul des fonctions de recherche

Les équivalences exactes peuvent introduire des délais de calcul considérables. Pour réduire ces délais au maximum, pensez à organiser vos données et à construire vos fonctions autrement ou à utiliser les équivalences approximatives lorsque possible. Voici quelques exemples concrets.

Exemples:

  • Placez votre fonction de recherche dans le même onglet que la plage de données sous-jacente (les calculs se feront plus rapidement)
  • Quand vous pouvez trier les données d’abord, faites-le et utilisez ensuite l’équivalence approximative au lieu de l’équivalence exacte
    • Si vous ne pouvez pas utiliser l’équivalence approximative directement parce que vous n’êtes pas certain que la valeur recherchée se retrouve dans la plage de données sous-jacente, vous pouvez utiliser une combinaison de deux fonctions de recherche avec des équivalences approximatives, tel qu’illustré dans l’exemple ci-bas (les calculs se feront plus rapidement qu’avec une seule fonction possédant une équivalence exacte)
    • À noter que lorsque la valeur recherchée est inférieure à la plus petite valeur de la plage de données, vous obtiendrez un #N/A, que vous pourriez aussi gérer avec un Ifna (Sina en français)

Fonctions de recherche

 

  • Quand vous devez absolument utiliser une équivalence exacte, restreignez les plages de cellules auxquelles se réfère votre fonction de recherche, par le biais de plages de données dynamiques nommées
    • Dans l’exemple suivant, j’ai d’abord inséré, dans les cellules L5 à O7, les paramètres des différentes fonctions Offset (Décaler) qui sont utilisées pour définir des plages de données dynamiques, représentées par des champs nommés. Il n’est pas nécessaire d’inscrire ces paramètres dans des cellules isolées. Je l’ai fait simplement pour des fins d’explication.

Recherchev avec vrai

 

  •  Ensuite, j’ai défini des plages de champs nommés dynamiques, comme GestionnaireA, ci-bas, basées sur ces paramètres.

Champs nommés offset

 

  • Parallèlement à l’exercice que je cherche à compléter, j’ai également inséré 3 formules Sum(Offset) ou Somme(Decaler) pour vérifier que mes paramètres étaient les bons (donc en vérifiant que la somme des 3 gestionnaires correspondait à la somme des données du tableau).

Recherchev avec vrai

 

  • L’objectif ultime était donc de développer une formule Vlookup (Recherchev) avec un paramètre False (Faux), donc une équivalence exacte, mais à effectuer la recherche sur une plage de données restreinte, dans notre exemple GestionnaireA, plutôt que sur les données de l’ensemble du tableau. À noter que nous avons également utilisé une référence approximative dans notre fonction Match (Equiv).

Recherchev avec vrai

 

  • Pour rédiger adéquatement la formule ci-dessus, j’ai d’abord dû convertir les titres de colonnes du tableau en valeurs et rechercher dans ces valeurs (déjà triées en ordre croissant).

Recherchev avec vrai

 

  • Quand vous devez utiliser une équivalence exacte sur des données non triées, vous pouvez utiliser le Iferror (Sierreur) pour gérer les #N/A des valeurs recherchées qui n’existent pas dans la plage de données ou vous pouvez également à nouveau faire l’usage d’équivalences approximatives en exploitant conjointement d’autres fonctions comme dans l’exemple ci-bas.
    • D’abord, on cherche la position de RepP dans la liste
    • Comme la valeur existe, on obtient 9
    • Si elle n’existait pas (comme dans le deuxième exemple RepPP), on obtiendrait #N/A
    • Ensuite, on peut imbriquer notre fonction de recherche avec équivalence approximative dans un If(Isna) ou Si(Estna) ou encore dans un If(Countif) ou Si(Nb.Si)

Fonction recherche alternative

Fonction recherche alternative

 

Une alternative aux fonctions de recherche usuelles

Je recommande fortement l’usage de la fonction Index plutôt que des fonctions de recherche Vlookup (Recherchev) et Hlookup (Rechercheh). Pourquoi? De façon générale, les fonctions de recherche comme Vlookup et Hlookup sont plus rapides mais la fonction Index offre plus de flexibilité et en bout de ligne, offre des façons de réduire le temps de calcul, par exemple, en isolant les équivalences exactes. L’exemple suivant démontre qu’on peut remplacer les Recherchev (Vlookup) par des fonctions Index. De plus, en isolant les deux équivalences exactes dans les cellules F4 et F5, on peut améliorer la performance de calcul de notre fichier car ces deux paramètres sont utilisés également dans la fonction Index qui permet de calculer les commissions et les salaires.

Fonctions de recherche

 

Pour relire un article et consulter un exemple appliqué de la fonction Index simple, vous pouvez consulter l’article suivant:

Fonction Excel: Index/Equiv (Index/Match)

 

Pour relire un article et consulter un exemple appliqué de la fonction Index sur plusieurs plages de données, vous pouvez consulter l’article suivant:

Excel: Effectuer un Index/Match (Index/Equiv) sur plusieurs plages de données

 

La fonction Offset (Decaler) est également rapide et pourrait être utilisée. Toutefois, cette fonction est volatile, ce qui peut parfois augment la performance au niveau des calculs du fichier Excel. Néanmoins, la fonction Offset demeure dans certains cas, fort utile, notamment pour définir des plages de données dynamiques. Pour relire un article et consulter un exemple appliqué de la fonction Offset (Decaler), vous pouvez consulter l’article suivant:

Excel: Fonction Decaler (Offset

 

CFO-Masque_Formations-en-ligne_FB Le CFO masqué offre un vaste choix de formations en informatique décisionnelle avec Excel et Power BI, via un portail en ligne et à distance en temps réel, selon un calendrier. Si vous désirez organiser des formations privées, faites nous simplement parvenir un courriel à info@lecfomasque.com . Des certificats convenant aux normes de formation continue des divers ordres professionnels du Québec sont offerts pour l'ensemble des formations.  

Découvrez quelles formations vous conviennent

 

4 réflexions sur “Excel : Utiliser les fonctions de recherche adéquatement”

  1. Un article instructif, merci
    Pouvez vous, s’il vous plait énumèrer les fonctions volatiles, c’est quoi déjà une fonction volatile. Merci encore une fois

  2. Ping : Excel - développement professionnel | Pearltrees

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Scroll to Top