• A la recherche d’une assistante de direction motivée ?

    Polyvalente, expérimentée, je suis à l’écoute du marché.
    N’hésitez pas à me contacter et à consulter mon profil Linkedin : linkedin.com/in/nguilbert

Extraire des données multi critères sans macro

Une contribution de Alalie

alalieSituation

Dans  Excel, on a une base de données (cf. fichier exemple)  en FEUIL1 avec

  • Colonne A : N° d’affaires
  • Colonne B : Nom de l’affaire
  • Colonne C : Montant négocié
  • Colonne D : Client
  • Colonne E : Statut (Archivé, en cours, fini, à régler).

La ligne 1 est consacrée aux titres des colonnes, les suivantes aux données.
La première feuille de calcul (Feuil1) contient les données, la seconde (Feuil2) contiendra les critères de recherche ainsi que les résultats de cette dernière.

1ère étape : Créer le champ à rechercher

On cherche à obtenir les montants négociés pour un client donné dont les affaires sont encore « en cours ». Le champ de recherche sera donc le nom du Client (Attention : ce dernier doit évidemment toujours être écrit de la même manière dans la base de données). Sur une 2ème feuille de calcul :

  • En A1 : on inscrit Client recherché :
  • En B1 : on rentrera le nom du client souhaité

2ème étape : Créer le classement des données en FEUIL1

Sur la feuille contenant les données, en F2 (la cellule F1 étant celle du titre), insérer la formule :

   F2= SI(E2= »en cours »;SI(D2=Feuil2!$B$1;MAX($F$1:F1)+1; » »); » »)

En français : Si E2 = en cours, alors : 1. Si D2 = le client recherché de la feuil2 alors écris le maximum de la colonne +1 sinon n’écris rien – 2. SINON (si D2 n’est pas le client recherché de la feuil2) n’écris rien du tout.

La sélection $F$1 :F1 permet d’avoir une plage variable : le $F$1 ne bougera pas, mais la sélection s’étira jusqu’à la cellule précédant celle ou on est situé.

3ème étape : Créer notre résultat final !

Pour cela, il faut que les données aient une « clé » de recherche unique. Ici, c’est le numéro d’affaires.

Donc sur la Feuil2, on déjà en A1 : le texte « client recherché » en B1 le nom qu’on souhaite (Marie dans le fichier joint)

On met sur la ligne 3 les titres des  champs à rechercher

En A4 insérer la formule :

A4=SI(OU(B$1= » »;MAX(LIGNE()-3)>MAX(Feuil1!$F:$F)); » »;INDEX(Feuil1!$A:$A;EQUIV(LIGNE()-3;Feuil1!$F:$F;0)))

En français : si soit B1=rien soit le numéro de la ligne en cours moins le nombre de lignes au-dessus (donc 1 pour la 1er ligne, 2 pour la 2ème ligne…) est supérieur au maximum du classement des données en feuil1 (etape2) alors ne fait rien (affiche une case vide).

Sinon va chercher dans la colonne A de la feuille1 ce qui EQUIVaut au numéro de la ligne en cours moins le nombre de ligne au-dessus (donc 1 pour la 1er ligne, 2 pour la 2ème ligne…) dans la colonne F de la feuille 1.

Pour les autres :

=SI(A4= » »; » »;INDEX(Feuil1!B:B;EQUIV(A4;Feuil1!A:A;0)))

En français : Si A4 = rien alors ne fait rien, sinon va chercher dans la colonne B de la feuille1 ce qui EQUIVaut à A4 dans la colonne A de la feuille1

Il suffit alors de remplacer B :B par la colonne adéquate selon les valeur recherché C pour le montant recherché par exemple.

Les commentaires sont fermés