Renvoyer la valeur d'une cellule en fonction d'une autre dans Excel : Le Guide Ultime
Excel offre une variété de fonctions pour renvoyer la valeur d'une cellule en fonction de la valeur d'une autre. Le choix de la fonction dépendra de la structure de vos données et de vos besoins spécifiques. Nous allons explorer les méthodes les plus populaires et les plus efficaces.
1. La fonction RECHERCHEV (VLOOKUP) : La méthode la plus courante
La fonction RECHERCHEV (ou VLOOKUP en anglais) est probablement la méthode la plus connue et la plus utilisée pour renvoyer une valeur correspondante dans Excel. Elle recherche une valeur dans la première colonne d'une plage de cellules, puis renvoie une valeur de la même ligne, mais dans une colonne spécifiée.
Syntaxe de RECHERCHEV
=RECHERCHEV(valeur_recherchée; table_matrice; no_index_col; [valeur_proche])
valeur_recherchée: La valeur à rechercher dans la première colonne de la table.table_matrice: La plage de cellules dans laquelle effectuer la recherche. La première colonne de cette plage doit contenir les valeurs à rechercher.no_index_col: Le numéro de la colonne danstable_matricequi contient la valeur à renvoyer. La première colonne detable_matriceest la colonne 1.[valeur_proche]: (Optionnel) Une valeur logique (VRAI ou FAUX) qui spécifie si vous souhaitez une correspondance exacte ou approximative.VRAI(ou omis) pour une correspondance approximative (la première colonne detable_matricedoit être triée par ordre croissant).FAUXpour une correspondance exacte. Il est fortement recommandé d'utiliserFAUXpour éviter des résultats inattendus.
Exemple pratique avec RECHERCHEV
Imaginez que vous avez une liste de produits avec leurs codes et leurs prix dans les colonnes A et B, respectivement. Vous voulez trouver le prix du produit dont le code est "XYZ123".
- Dans une cellule (par exemple, D1), entrez le code produit à rechercher :
XYZ123. -
Dans une autre cellule (par exemple, E1), entrez la formule
RECHERCHEV:excel =RECHERCHEV(D1; A:B; 2; FAUX)D1est la cellule contenant la valeur recherchée (le code produit).A:Best la plage de cellules contenant la table de données (codes produits et prix).2est le numéro de la colonne dans la plageA:Bqui contient le prix (la deuxième colonne).FAUXindique que vous voulez une correspondance exacte.
Si le code produit "XYZ123" est trouvé dans la colonne A, la formule renverra le prix correspondant de la colonne B. Sinon, elle renverra l'erreur #N/A.
Avantages de RECHERCHEV
- Facile à comprendre et à utiliser.
- Largement disponible dans toutes les versions d'Excel.
Inconvénients de RECHERCHEV
- Ne peut rechercher que dans la première colonne de la table.
- La table doit être triée si vous utilisez une correspondance approximative (ce qui est déconseillé).
- Si la colonne à renvoyer est insérée ou supprimée, vous devez modifier le numéro de colonne dans la formule.
2. La combinaison INDEX et EQUIV : Plus flexible que RECHERCHEV
La combinaison des fonctions INDEX et EQUIV offre une alternative plus flexible et robuste à RECHERCHEV. Elle permet de rechercher une valeur dans n'importe quelle colonne et de renvoyer une valeur de n'importe quelle autre colonne.
Syntaxe de INDEX et EQUIV
INDEX(matrice; no_ligne; [no_colonne]): Renvoie la valeur d'une cellule dans une matrice, spécifiée par son numéro de ligne et son numéro de colonne.EQUIV(valeur_recherchée; plage_recherche; [type]): Renvoie la position relative d'une valeur dans une plage de cellules.
Comment INDEX et EQUIV fonctionnent ensemble
EQUIV est utilisé pour trouver le numéro de ligne de la valeur recherchée, et ce numéro de ligne est ensuite utilisé par INDEX pour renvoyer la valeur correspondante dans la colonne souhaitée.
Exemple pratique avec INDEX et EQUIV
Reprenons l'exemple précédent avec les codes produits et les prix dans les colonnes A et B. Nous voulons toujours trouver le prix du produit dont le code est "XYZ123".
- Dans une cellule (par exemple, D1), entrez le code produit à rechercher :
XYZ123. -
Dans une autre cellule (par exemple, E1), entrez la formule
INDEXetEQUIV:excel =INDEX(B:B; EQUIV(D1; A:A; 0))B:Best la colonne contenant les prix (la colonne à partir de laquelle nous voulons renvoyer la valeur).EQUIV(D1; A:A; 0)recherche la position du code produit (D1) dans la colonne A (A:A).0indique une correspondance exacte.
La fonction EQUIV renvoie le numéro de ligne où le code produit "XYZ123" est trouvé. La fonction INDEX utilise ensuite ce numéro de ligne pour renvoyer le prix correspondant de la colonne B.
Avantages de INDEX et EQUIV
- Plus flexible que
RECHERCHEV: peut rechercher dans n'importe quelle colonne. - Plus robuste : si des colonnes sont insérées ou supprimées, la formule continue de fonctionner correctement (tant que les plages de cellules restent correctes).
- Plus performant pour les grandes tables.
Inconvénients de INDEX et EQUIV
- Un peu plus complexe à comprendre que
RECHERCHEV.
3. La fonction RECHERCHEH (HLOOKUP) : Recherche horizontale
La fonction RECHERCHEH (ou HLOOKUP en anglais) est similaire à RECHERCHEV, mais elle recherche une valeur dans la première ligne d'une plage de cellules, plutôt que dans la première colonne. Elle est utile lorsque vos données sont organisées horizontalement.
Syntaxe de RECHERCHEH
=RECHERCHEH(valeur_recherchée; table_matrice; no_index_ligne; [valeur_proche])
La syntaxe est similaire à celle de RECHERCHEV, mais no_index_ligne spécifie le numéro de la ligne à partir de laquelle renvoyer la valeur.
Quand utiliser RECHERCHEH
Utilisez RECHERCHEH lorsque vos données sont organisées de manière à ce que la valeur à rechercher se trouve dans la première ligne et les valeurs correspondantes dans les lignes suivantes.
4. La fonction SI : Pour des conditions simples
La fonction SI peut être utilisée pour renvoyer une valeur en fonction d'une condition. Bien qu'elle ne soit pas conçue spécifiquement pour rechercher des correspondances, elle peut être utile pour des scénarios simples où vous avez un nombre limité de conditions.
Syntaxe de SI
=SI(test_logique; valeur_si_vrai; valeur_si_faux)
Exemple pratique avec SI
Si vous voulez renvoyer "Oui" si la valeur dans la cellule A1 est supérieure à 10, et "Non" sinon, vous pouvez utiliser la formule suivante :
=SI(A1>10; "Oui"; "Non")
Limites de la fonction SI
La fonction SI devient rapidement complexe et difficile à gérer si vous avez un grand nombre de conditions. Dans ce cas, il est préférable d'utiliser RECHERCHEV ou INDEX EQUIV.
5. La fonction XLOOKUP : Le successeur de RECHERCHEV (Excel 365 et versions ultérieures)
La fonction XLOOKUP est une nouvelle fonction introduite dans Excel 365 et les versions ultérieures. Elle combine les avantages de RECHERCHEV et INDEX EQUIV et offre des fonctionnalités supplémentaires, telles que la recherche dans les deux sens (de gauche à droite et de droite à gauche) et la gestion des erreurs intégrée.
Syntaxe de XLOOKUP
=XLOOKUP(valeur_recherchée; plage_recherche; plage_renvoi; [si_non_trouvé]; [mode_correspondance]; [mode_recherche])
valeur_recherchée: La valeur à rechercher.plage_recherche: La plage de cellules dans laquelle rechercher la valeur.plage_renvoi: La plage de cellules à partir de laquelle renvoyer la valeur.[si_non_trouvé]: (Optionnel) La valeur à renvoyer si la valeur recherchée n'est pas trouvée.[mode_correspondance]: (Optionnel) Le type de correspondance à utiliser (0 pour une correspondance exacte, -1 pour une correspondance exacte ou la valeur la plus proche inférieure, 1 pour une correspondance exacte ou la valeur la plus proche supérieure, 2 pour une correspondance générique).[mode_recherche]: (Optionnel) Le mode de recherche à utiliser (1 pour une recherche de la première à la dernière, -1 pour une recherche de la dernière à la première, 2 pour une recherche binaire en supposant que la plage est triée par ordre croissant, -2 pour une recherche binaire en supposant que la plage est triée par ordre décroissant).
Avantages de XLOOKUP
- Plus flexible et puissant que
RECHERCHEVetINDEX EQUIV. - Plus facile à utiliser que
INDEX EQUIV. - Gère les erreurs de manière élégante.
- Permet la recherche dans les deux sens.
Exemple pratique avec XLOOKUP
En reprenant l'exemple précédent, la formule XLOOKUP pour trouver le prix du produit dont le code est "XYZ123" serait :
=XLOOKUP(D1; A:A; B:B; "Produit non trouvé")
Cette formule recherche le code produit (D1) dans la colonne A (A:A) et renvoie le prix correspondant de la colonne B (B:B). Si le code produit n'est pas trouvé, elle renvoie le message "Produit non trouvé".
Conseils et astuces pour renvoyer la valeur d'une cellule en fonction d'une autre
- Utilisez des noms de plages nommées : Au lieu d'utiliser des références de cellules comme
A:B, vous pouvez définir des noms de plages (par exemple, "Produits") pour rendre vos formules plus lisibles et plus faciles à maintenir. - Utilisez la validation des données : Pour éviter les erreurs de saisie dans la cellule contenant la valeur recherchée, utilisez la validation des données pour limiter les valeurs autorisées.
- Gérez les erreurs : Utilisez les fonctions
SIERREURou la fonctionnalité[si_non_trouvé]deXLOOKUPpour gérer les erreurs potentielles (par exemple, si la valeur recherchée n'est pas trouvée) et afficher un message d'erreur convivial. - Soyez attentif à la casse : Par défaut, les fonctions de recherche d'Excel ne sont pas sensibles à la casse. Si vous avez besoin d'une recherche sensible à la casse, vous pouvez utiliser des formules plus complexes combinant les fonctions
EXACTetINDEX EQUIV. - Optimisez la performance : Pour les grandes tables,
INDEX EQUIVetXLOOKUPsont généralement plus performants queRECHERCHEV. Assurez-vous également que vos données sont bien structurées et que les colonnes de recherche sont indexées (si possible).
En conclusion, Excel offre plusieurs méthodes pour renvoyer la valeur d'une cellule en fonction d'une autre. Le choix de la méthode dépendra de vos besoins spécifiques et de la structure de vos données. RECHERCHEV est une bonne option pour les cas simples, tandis que INDEX EQUIV offre plus de flexibilité et de robustesse. Si vous utilisez Excel 365 ou une version ultérieure, XLOOKUP est la meilleure option, car elle combine les avantages des deux et offre des fonctionnalités supplémentaires. Expérimentez avec ces différentes fonctions et trouvez celle qui convient le mieux à vos besoins !