Qu'est-ce que XLOOKUP (RECHERCHEX) dans Excel ?
XLOOKUP, ou RECHERCHEX en français, est une fonction de recherche introduite dans les versions récentes d'Excel (Office 365 et Excel 2019 et plus récentes). Elle a été conçue pour remplacer et améliorer les fonctions de recherche traditionnelles comme RECHERCHEV (VLOOKUP), RECHERCHEH (HLOOKUP) et INDEX/EQUIV. XLOOKUP offre une plus grande flexibilité, une syntaxe plus simple et une meilleure gestion des erreurs, ce qui en fait un outil puissant pour l'analyse de données.
Pourquoi XLOOKUP est-elle meilleure que RECHERCHEV ?
RECHERCHEV a longtemps été la fonction de recherche de référence dans Excel, mais elle présente plusieurs limitations :
- Limitation de la colonne de recherche : RECHERCHEV exige que la colonne de recherche se trouve à l'extrême gauche de la plage de données. XLOOKUP élimine cette contrainte.
- Difficulté d'insérer ou supprimer des colonnes : L'ajout ou la suppression de colonnes dans la plage de données de RECHERCHEV peut casser la formule si l'index de la colonne de résultat est incorrect.
- Gestion des erreurs : RECHERCHEV renvoie souvent des erreurs #N/A si la valeur recherchée n'est pas trouvée, sans possibilité de personnaliser le message.
- Recherche approximative par défaut : RECHERCHEV effectue une recherche approximative par défaut, ce qui peut conduire à des résultats inattendus si la valeur recherchée n'est pas une correspondance exacte.
XLOOKUP résout ces problèmes et offre les avantages suivants :
- Flexibilité de la colonne de recherche : La colonne de recherche peut se trouver n'importe où dans la plage de données.
- Moins sensible aux modifications de la structure des données : L'insertion ou la suppression de colonnes n'affecte pas la formule.
- Gestion des erreurs intégrée : Possibilité de spécifier une valeur à renvoyer si la valeur recherchée n'est pas trouvée.
- Recherche exacte par défaut : XLOOKUP effectue une recherche exacte par défaut, ce qui réduit le risque d'erreurs.
Syntaxe de la fonction XLOOKUP
La syntaxe de la fonction XLOOKUP est la suivante :
=XLOOKUP(valeur_recherchée, plage_recherche, plage_résultat, [si_non_trouvé], [mode_correspondance], [mode_recherche])
Où :
- valeur_recherchée : La valeur que vous souhaitez rechercher.
- plage_recherche : La plage de cellules où la valeur recherchée est censée se trouver.
- plage_résultat : La plage de cellules contenant la valeur à renvoyer.
- [si_non_trouvé] : (Facultatif) La valeur à renvoyer si la valeur recherchée n'est pas trouvée. Si omis, XLOOKUP renvoie l'erreur #N/A.
- [mode_correspondance] : (Facultatif) Spécifie le type de correspondance à utiliser :
- 0 (par défaut) : Correspondance exacte. Si aucune correspondance exacte n'est trouvée, renvoie #N/A.
- -1 : Correspondance exacte ou la plus petite valeur supérieure à la valeur recherchée.
- 1 : Correspondance exacte ou la plus grande valeur inférieure à la valeur recherchée.
- 2 : Correspondance avec des caractères génériques (*, ?, ~).
- [mode_recherche] : (Facultatif) Spécifie le type de recherche à effectuer :
- 1 (par défaut) : Recherche de la première à la dernière entrée.
- -1 : Recherche de la dernière à la première entrée.
- 2 : Recherche binaire, la plage de recherche doit être triée par ordre croissant.
- -2 : Recherche binaire, la plage de recherche doit être triée par ordre décroissant.
Exemples pratiques d'utilisation de XLOOKUP
Exemple 1 : Recherche simple d'un prix
Supposons que vous ayez un tableau avec une liste de produits et leurs prix correspondants. Vous voulez rechercher le prix d'un produit spécifique en utilisant XLOOKUP.
| Produit | Prix |
|---|---|
| A | 10 |
| B | 20 |
| C | 30 |
Pour rechercher le prix du produit "B", vous pouvez utiliser la formule suivante :
=XLOOKUP("B", A1:A3, B1:B3)
Cette formule recherchera "B" dans la plage A1:A3 et renverra la valeur correspondante de la plage B1:B3, qui est 20.
Exemple 2 : Gestion des erreurs avec XLOOKUP
Si la valeur recherchée n'est pas trouvée, XLOOKUP renvoie par défaut l'erreur #N/A. Vous pouvez personnaliser le message d'erreur en utilisant l'argument [si_non_trouvé].
=XLOOKUP("D", A1:A3, B1:B3, "Produit non trouvé")
Dans cet exemple, si le produit "D" n'est pas trouvé, XLOOKUP renverra le message "Produit non trouvé" au lieu de l'erreur #N/A.
Exemple 3 : Recherche de la dernière correspondance
Vous pouvez utiliser l'argument [mode_recherche] pour rechercher la dernière correspondance au lieu de la première. Cela peut être utile si votre tableau de données contient des doublons.
Supposons que vous ayez un tableau avec l'historique des ventes de différents produits :
| Produit | Date | Ventes |
|---|---|---|
| A | 01/01/2023 | 100 |
| B | 01/01/2023 | 200 |
| A | 02/01/2023 | 150 |
| B | 02/01/2023 | 250 |
Pour rechercher les dernières ventes du produit "A", vous pouvez utiliser la formule suivante :
=XLOOKUP("A", A1:A4, C1:C4, , , -1)
Cette formule recherchera "A" dans la plage A1:A4 et renverra la valeur correspondante de la plage C1:C4 en effectuant une recherche de la dernière à la première entrée, ce qui renverra 150.
Exemple 4 : Utilisation de XLOOKUP avec des caractères génériques
L'argument [mode_correspondance] peut être utilisé avec la valeur 2 pour activer la correspondance avec des caractères génériques. Cela permet de rechercher des valeurs qui correspondent partiellement à la valeur recherchée.
Supposons que vous ayez un tableau avec une liste de noms de produits :
| Produit |
|---|
| Clavier |
| Souris |
| Clavier sans fil |
Pour rechercher tous les produits qui commencent par "Clavier", vous pouvez utiliser la formule suivante :
=XLOOKUP("Clavier*", A1:A3, A1:A3, , 2)
Cette formule recherchera tous les produits qui commencent par "Clavier" et renverra "Clavier". Pour renvoyer "Clavier sans fil", il faudrait ajuster la plage de recherche et le résultat.
Conseils et astuces pour utiliser XLOOKUP efficacement
- Utiliser des noms définis : Pour rendre vos formules plus lisibles et plus faciles à maintenir, utilisez des noms définis pour les plages de recherche et de résultat. Par exemple, au lieu d'utiliser
A1:A10, vous pouvez définir un nom "Produits" pour cette plage et l'utiliser dans votre formule. - Vérifier les types de données : Assurez-vous que les types de données de la valeur recherchée et de la plage de recherche sont compatibles. Par exemple, si vous recherchez un nombre, assurez-vous que la plage de recherche contient des nombres et non du texte.
- Utiliser la fonction IFERROR : Si vous devez gérer les erreurs #N/A de manière plus complexe, vous pouvez combiner XLOOKUP avec la fonction IFERROR. Cela vous permet d'afficher un message personnalisé ou d'effectuer une autre action si la valeur recherchée n'est pas trouvée.
- Tester vos formules : Avant d'utiliser XLOOKUP dans des feuilles de calcul complexes, testez vos formules avec des données de test pour vous assurer qu'elles fonctionnent correctement.
- Comprendre les modes de correspondance et de recherche : Prenez le temps de comprendre les différents modes de correspondance et de recherche disponibles dans XLOOKUP pour choisir celui qui convient le mieux à vos besoins.
Erreurs courantes à éviter avec XLOOKUP
- Erreur #N/A : Cette erreur se produit si la valeur recherchée n'est pas trouvée dans la plage de recherche. Assurez-vous que la valeur recherchée existe et que les types de données sont compatibles. Utilisez l'argument
[si_non_trouvé]pour personnaliser le message d'erreur. - Erreur #REF! : Cette erreur se produit si les plages de recherche ou de résultat sont incorrectes ou si des cellules sont supprimées ou insérées dans ces plages. Vérifiez que les plages sont correctes et utilisez des noms définis pour éviter ce problème.
- Résultats inattendus : Si vous obtenez des résultats inattendus, vérifiez le mode de correspondance et de recherche que vous utilisez. Assurez-vous qu'il correspond à vos besoins et que la plage de recherche est correctement triée si vous utilisez la recherche binaire.
XLOOKUP vs. INDEX/EQUIV
Avant l'introduction de XLOOKUP, INDEX/EQUIV était souvent utilisé comme alternative à RECHERCHEV pour surmonter ses limitations. INDEX/EQUIV offre une plus grande flexibilité, mais sa syntaxe est plus complexe.
XLOOKUP simplifie le processus en combinant les fonctionnalités de INDEX et EQUIV en une seule fonction. Elle est plus facile à utiliser et à comprendre, tout en offrant une flexibilité similaire.
En général, XLOOKUP est une meilleure option que INDEX/EQUIV pour la plupart des cas d'utilisation. Cependant, si vous travaillez avec des versions plus anciennes d'Excel qui ne prennent pas en charge XLOOKUP, INDEX/EQUIV reste une alternative viable.
Conclusion
XLOOKUP est une fonction de recherche puissante et flexible qui simplifie la recherche de données dans Excel. Elle offre de nombreux avantages par rapport aux fonctions de recherche traditionnelles comme RECHERCHEV et INDEX/EQUIV, notamment une syntaxe plus simple, une meilleure gestion des erreurs et une plus grande flexibilité. En apprenant à utiliser XLOOKUP efficacement, vous pouvez améliorer votre productivité et optimiser vos feuilles de calcul Excel. Alors, dites adieu à RECHERCHEV et adoptez XLOOKUP dès aujourd'hui !