Description de formules

nicocontrole

XLDnaute Junior
Bonjour à tous

On m'a donné deux formules qui fonctionnent, mais le problème c'est je suis incapable de les comprendre.

SI(F91="";"";SI(SOUS.TOTAL(3;Saisie!$D$5:$D$500)>=LIGNE(A1);INDEX(Saisie!$D:$D;PETITE.VALEUR(SI(SOUS.TOTAL(3;DECALER(Saisie!D$4;LIGNE($1:$500);))=1;LIGNE(Saisie!$D$5:$D$500));LIGNE(A1));0);""))

=INDEX(F:F;MIN(SI((Liste_clients<>0)*(NB.SI($G$91:G91;Liste_clients)=0);LIGNE(Liste_clients))))&""

Quelqu'un pourrait-il me décrire ces formule pas à pas avec de mots simples?

Merci d'avance pour votre aide

@+
 

Victor21

XLDnaute Barbatruc
Re : Description de formules

Bonjour, nicocontrole, tototiti2008:)

Lorsque tu positionnes le curseur immédiatement après la parenthèse ouvrante d'une fonction, et que tu cliques sur Fx à gauche de la barre de formule, une fenêtre d'aide à la saisie s'affiche, explicitant les arguments de la fonction.
En bas, à gauche de cette fenêtre, tu as un lien qui te permet d'accéder par toi-même à l'aide complète sur cette fonction.

Te voilà maintenant apte à comprendre par toi-même la plupart des formules. :)
 

Dugenou

XLDnaute Barbatruc
Re : Description de formules

Bonjour,

=INDEX(F:F;MIN(SI((Liste_clients<>0)*(NB.SI($G$91: G91;Liste_clients)=0);LIGNE(Liste_clients))))&""

Permet d'afficher en G92 et suivantes une liste sans doublons de ce qu'on trouve dans la plage Liste_clients.

NB.SI($G$91: G91;Liste_clients) : compte le nombre de fois ou la valeur de G91 est affichée dans la liste client, en recopiant vers le bas la zone G91:G91 devient G91:G92 etc. permet de compter le nb de fois ou on trouve chaque valeur de G91:G92 dans Liste_clients.
NB.SI($G$91: G91;Liste_clients)=0 : ne prends en compte que les valeurs qui ne sont pas encore affichées en G91 et suivantes.

(Liste_clients<>0)*(NB.SI($G$91: G91;Liste_clients)=0) : deux critères doivent être respectés (avec le signe *) : cellules de la liste_client différentes de 0 et valeur non affichée en G31 et suivantes.

SI((Liste_clients<>0)*(NB.SI($G$91: G91;Liste_clients)=0);LIGNE(Liste_clients)) : si les deux critères sont respectés on a un N° de ligne sinon on a la valeur FAUX.

MIN(SI((Liste_clients<>0)*(NB.SI($G$91: G91;Liste_clients)=0);LIGNE(Liste_clients))) : renvoie le plus petit N° de ligne trouvé.

INDEX(F:F;MIN(SI((Liste_clients<>0)*(NB.SI($G$91: G91;Liste_clients)=0);LIGNE(Liste_clients))))&"" : renvoie la valeur de la colonne F située à la ligne calculée.
le &"" permet de ne pas afficher de valeur d'erreur quand il n'y a pas de N° de ligne.

La première formule ne peut pas être décrite facilement sans le fichier ou elle fonctionne.
Code:
SI(SOUS.TOTAL(3;DECALER(Saisie!D$4;LIGNE($1:$500)))=1;LIGNE(Saisie!$D$5:$D$500))
cette partie renvoie certains N° de lignes selon le sous total de la colonne D
Code:
PETITE.VALEUR(SI(SOUS.TOTAL(3;DECALER(Saisie!D$4;LIGNE($1:$500)))=1;LIGNE(Saisie!$D$5:$D$500));LIGNE(A1))
comme dans la formule précédente : renvoie le plus petit N° de ligne.
La fonction INDEX permet de renvoyer la valeur située à la ligne trouvée, la partie
Code:
SI(F91="";"";SI(SOUS.TOTAL(3;Saisie!$D$5:$D$500)>= LIGNE(A1);
permet d'éviter les messages d'erreurs : quand la cellule en F est vide ou quand il n'y a plus rien à renvoyer.

Cordialement
 
Dernière édition:

Discussions similaires

Réponses
7
Affichages
456

Statistiques des forums

Discussions
312 837
Messages
2 092 660
Membres
105 482
dernier inscrit
Eric.FKF