Aide pour une formule

Bonjour à tous,

Je sollicite votre aide pour une formule me permettant d'alimenter l'onglet "valeur recherchée"

Il y 2 onglets : un onglet base et un onglet valeur recherchée

Je souhaite renseigner l'onglet "valeur recherchée" (cellule en couleur) avec les données de l'onglet "Base", colonne B "Poste d'utilisation"

En fonction du matricule et du mois, renseigner le poste d'utilisation de chaque mois. Le poste d'utilisation est différent selon les mois.

Ci-joint mon fichier test

Merci beaucoup pour votre aide

Bien cordialement

13fichier-test.xlsx (10.97 Ko)

Bonjour à tous !

Une approche possible (type formule unique dynamique) en B2 :

=LET(
    ba; Base!A2:C7;
    ms; B1:D1;
    me; A2:A3;
    MAKEARRAY(
        NBVAL(me);
        NBVAL(ms);
        LAMBDA(l; c;
            FILTRE(
                CHOISIRCOLS(ba; 2);
                (PRENDRE(ba; ; 1) = INDEX(me; l)) *
                    (PRENDRE(ba; ; -1) = INDEX(ms; ; c))
            )
        )
    )
)

Merci beaucoup pour ce retour,

Il fonctionne mais je n'arrive pas à l'appliquer sur mon grand fichier.

Pouvez vous me dire :

ba, me, ms, c, 1, 2 dans la formule svp ?

Bien cordialement

Bonjour deton et JFL,

Je te propose une solution avec l'ajout d'une colonne "technique" dans l'onglet base qui concaténer le matricule et le mois.

Après il suffit de faire une recherche à l'aide des fonctions INDEX et EQUIV

Voir ton classeur en retour.

Bonne continuation

Chris

9fichier-test.xlsx (11.74 Ko)

Bonjour à tous de nouveau !

ba, me et ms sont des variables faisant référence à des plages de votre classeur.

ba : base voir feuille "Base" (Base!A2:C7)

me : matricule (A2:A3)

ms : mois (B1:D1)

c et l sont des arguments de la fonction MAKEARRAY. c pour colonne et l pour ligne

1 et 2 sont des arguments utilisés dans les fonctions pour retourner les champs concernés.

Oups... j'ai oublié de te dire que la colonne "technique" peut être masquée

Bonjour,

Autre,

=SIERREUR(INDEX(Base!$B$2:$B$11;PETITE.VALEUR(SI((NB.SI($A2:A2;Base!$B$2:$B$11)=0)*(Base!$A$2:$A$11=$A2)*(Base!$C$2:$C$11=B$1);LIGNE(Base!$B$2:$B$11)-1);1));"")

Slts

Bonsoir à tous !

Pour le fun, une approche via la fonction RECHERCHEX en B2.

Toujours de type formule unique et dynamique mais plus courte :

=LET(
    ms; B1:D1;
    me; A2:A3;
    MAKEARRAY(
        NBVAL(me);
        NBVAL(ms);
        LAMBDA(l; c;
            RECHERCHEX(
                INDEX(me; l) & INDEX(ms; c);
                Base!A2:A7 & Base!C2:C7;
                Base!B2:B7
            )
        )
    )
)
Rechercher des sujets similaires à "aide formule"