Taille de police :

×

Lecture de la page :

Lire Test2

Faire une recherche sur une plage de plusieurs lignes/colonnes

0
(0)

Les fonctions de recherche classiques (RECHERCHEV, EQUIV, EQUIVX, RECHERCHEX...) travaille/recherche sur des matrices vecteurs (1 dimension), c'est à dire que la recherche réelle se fait sur une colonne ou une ligne mais pas dans une matrice avec plusieurs lignes et colonnes (2 dimensions).

Par exemple dans la fonction RECHERCHEV, bien que l'on lui fournisse une plage de plusieurs lignes et colonnes, la recherche de la valeur cherchée (la clé) ne se fait que sur la 1ère colonne, les autres colonnes servant à fournir la valeur résultat.

Je vous propose quelques formules, que je trouve sympa, permettant de dépasser cette contrainte.

Tableaux utilisés pour l'exemple

Excel - Recherche en ligne et colonne

Objectif

Chercher une valeur dans le tableau 1 (recherche) et ramener la valeur correspondante du tableau 2 (Valeurs résultat)

Solution 1

On récupère seulement la 1ère valeur correspondante à la recherche.

On va utiliser la puissance des nouvelles formules d'Excel.

Le principe :

  • On va utiliser les formules de recherche d'Excel et pour cela on transforme la plage du tableau 1 en un tableau à 1 dimension (DANSCOL).
  • À partir de la position de la valeur recherché (EQUIV), on en déduit la position Lignes/Colonnes.
=LET(v;D9;md;B2:E6;ma;H2:K6;
nbl;LIGNES(md);
mc;DANSCOL(md;;VRAI);
pos;EQUIV(v;mc;0)-1;
SIERREUR(INDEX(ma;MOD(pos;nbl)+1;ENT(pos/nbl)+1);"Non trouvé"))

  • v : Valeur cherchée.
  • md : Matrice de départ (Tableau1).
  • ma : Matrice d'arrivée (Tableau2).
  • nbl : Nombre de ligne du Tableau1/2.
  • mc : Matrice une colonne correspondante à Tableau1.
  • Pos : Position dans mc de la valeur cherché (v).
  • Résultat : Extraction de la valeur de Tableau2.

Solution 2

Version 1

On récupère toutes les valeurs correspondantes à la recherche dans une plage de cellules.

=DANSCOL(SI(D10=B2:E6;H2:K6;NA());3)

  • La fonction SI génère une matrice ou les valeurs de Tableau2 ne correspondant pas à la valeur cherchée sont remplacées par la valeur d'erreur NA.
  • La fonction DANSCOL (ou DANSLIGNE) permet de récupérer une matrice résultat où les valeurs d'erreur (ici NA) ont été retirées via l'argument ignore (3).

Remarque : Pour ne récupérer que la 1ère valeur on pourrait utiliser la fonction INDEX( ... ; 1).

Version 2

On récupère toutes les valeurs correspondantes à la recherche dans une seule cellule.

=JOINDRE.TEXTE("-";;SI(D10=B2:E6;H2:K6;""))

  • La fonction SI génère une matrice ou les valeurs de Tableau2 ne correspondant pas à la valeur cherchée sont remplacées par une chaîne vide.
  • La fonction JOINDRE.TEXTE permet de concaténer les résultats en une seule chaîne.

D'autres articles traitant de la recherche de valeurs :

Les fonctions de recherche de valeur

Intéressante formule de rechercher (catégorisation de dépenses)

Merci pour votre attention bienveillante.

Article intéressant ?

Cliquez sur une étoile pour noter cet article !

Note moyenne 0 / 5. Nombre de votes : 0

Aucun vote pour l'instant ! Soyez le premier à noter ce post.

Nous sommes désolés que cet article ne vous ait pas été utile !

Améliorons cet article !

Dites nous comment nous pouvons améliorer cet article ?

Publications similaires

Laisser un commentaire

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