Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Fonctions MIN, SI et ET imbriquées.

Matt68524

XLDnaute Nouveau
Bonjour,

Dans le fichier ci-joint, en N16 et N17, j'essaie de trouver la valeur MIN qui respctent les conditions suivantes :
- Nom : Martin
- 50<C.A.<=75
- Années : 1979 et 1980
- Villes : Lyon et Lille.

J'ai d'abord commençé avec la formule en N16, qui me donne un résultat de "52". =MIN(SI(F2:F51=F2;SI(G2:G51>50;SI(G2:G51<=75;SI(OU(H2:H51=1979;H2:H51=1980);SI(OU(I2:I51=I2;I2:I51=I5);G2:G51;"N/A");"N/A");"N/A");"N/A");"N/A"))
Puis j'ai voulu la raccourcir en N17 en rajoutant une fonction ET pour les conditions sur le C.A. au lieu des deux fonctions SI. Cependant, le résulatat que je trouve est différent de mon résultat obtenu en N16...
=MIN(SI(F2:F51=F2;SI(ET(G2:G51>50;G2:G51<=75);SI(OU(H2:H51=1979;H2:H51=1980);SI(OU(I2:I51=I2;I2:I51=I5);G2:G51;"N/A");"N/A");"N/A");"N/A"))

Pourquoi ces deux formules ne sont pas équivalentes ? Merci...
 

Pièces jointes

  • Exercices Excel.xlsx
    30.3 KB · Affichages: 8

JHA

XLDnaute Barbatruc
Bonjour à tous,

Avec des plages nommées dynamiques et la formule min() en matricielle
Exemple de formule, avec "CA<>0" pour éviter les zéros
VB:
=MIN(SI((Nom=$K6)*(CA>=50)*(CA<90)*(DOB=$M6)*(Ville=$N6)*(CA<>0);CA))

JHA
 

Pièces jointes

  • Exercices Excel.xlsx
    33 KB · Affichages: 5

Jocelyn

XLDnaute Barbatruc
Bonjour le Forum,
Bonjour Matt68524, l'ami JHA,

pour tenir compte des et qui dans la formule doivent se transformer en ou puisqu'une même cellule ne peut pas etre a la fois - Années : 1979 et 1980 et même chose concernant les villes - Villes : Lyon et Lille.

La formule deviendrait en matricielle bien sur

VB:
=MIN(SI(($F$2:$F$51="Martin")*(($I$2:$I$51="Lyon")+($I$2:$I$51="Lille"))*(($H$2:$H$51=1979)+($H$2:$H$51=1980))*($G$2:$G$51>50)*($G$2:$G51<=75);$G$2:$G$51))

explication

cette partie de formule ($F$2:$F$51="Martin")*(($I$2:$I$51="Lyon")+($I$2:$I$51="Lille")) signifie = martin et (=Lyon ou lille)

Cordialement
 

Matt68524

XLDnaute Nouveau
Bonjour,

Dans ma formule en L12, j'essaie de trouver le C.A. minimum qui respecte les conditions suivantes : Martin, 75>=C.A.>25, 1979, Nancy.

Ma formule me renvoie la valeur zéro (alors qu'en conditions je lui spécifie 25>C.A.>=75). Mais lorsqu'à la place de Nancy je mets Lyon ou Lille, la formule fonctionne et me renvoie une valeur correcte ! Je ne comprends pas ce qu'il se passe, pouvez-vous m'aider ? Merci...

Edit: La particularité quand je mets Nancy au lieu de Lyon ou Lille, c'est qu'il n'y a pas de cellules en G2:G51 qui satisfassent toutes les conditions. Mais même en rajoutant "-" à la fin de fonction SI, ma formule me renvoie toujours 0 comme valeur (au lieu de "-")...
 

Pièces jointes

  • Exercices Excel.xlsx
    31.7 KB · Affichages: 4
Dernière édition:

Matt68524

XLDnaute Nouveau
Ma formule: =MIN(SI((F2:F51=F2)*(G2:G51>25)*(G2:G51<=75)*(H2:H51=1979)*(I2:I51="Nancy");G2:G51;"-"))

Je demande la valeur la plus basse en G2:G51, qui satisfait toutes les autres conditions (dont : G2:G51>25 et G2:G51<=75), autrement je demande de me renvoyer "-". C'est pourquoi je ne comprends pas pourquoi la formule me renvoie 0.
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

VB:
=SI(MIN(SI((F2:F51=F2)*(G2:G51>25)*(G2:G51<=75)*(H2:H51=1979)*(I2:I51="Nancy");G2:G51))=0;"-";MIN(SI((F2:F51=F2)*(G2:G51>25)*(G2:G51<=75)*(H2:H51=1979)*(I2:I51="Nancy");G2:G51)))

JHA
 

Jocelyn

XLDnaute Barbatruc
Bonjour le Forum,
Bonjour Matt68524,l'ami JHA ,

Première info quand le min ne trouve rien il renvoie 0,

Alors pour éviter de faire une formule si avec 2 fois la formule min(si( je préfère une formule petite.valeur(si( qui elle enverra une valeur d'erreur au cas ou rien ne correspond de la on utilise sierreur() en matricielle bien sur

VB:
=SIERREUR(PETITE.VALEUR(SI((F2:F51=F2)*(G2:G51>25)*(G2:G51<=75)*(H2:H51=1979)*(I2:I51="Nancy");G2:G51);1);"-")

Voir fichier joint

Cordialement

PS : la formule de JHA fonctionne très bien a priori
 

Pièces jointes

  • Exercices Excel.xlsx
    32 KB · Affichages: 6

Matt68524

XLDnaute Nouveau
Bonjour les gourous,

Question 1 :

La solution de JHA était :
=SI(MIN(SI((F2:F51=F2)*(G2:G51>25)*(G2:G51<=75)*(H2:H51=1979)*(I2:I51="Nancy");G2:G51))=0;"-";MIN(SI((F2:F51=F2)*(G2:G51>25)*(G2:G51<=75)*(H2:H51=1979)*(I2:I51="Nancy");G2:G51))).

J'aurais voulu savoir comment on nomme une erreur dans excel, de manière à ce que je puisse remplacer MIN(SI( ,dans la formule de JHA, par PETITE.VALEUR(SI( :
=SI(PETITE.VALEUR(SI((F2:F51=F2)*(G2:G51>25)*(G2:G51<=75)*(H2:H51=1979)*(I2:I51="Nancy");G2:G51))="erreur";
"-";
PETITE.VALEUR(SI((F2:F51=F2)*(G2:G51>25)*(G2:G51<=75)*(H2:H51=1979)*(I2:I51="Nancy");G2:G51))).

Question 2 :

Et pour faire l'inverse, si dans la formule de Jocelyn,... :
=SIERREUR(PETITE.VALEUR(SI((F2:F51=F2)*(G2:G51>25)*(G2:G51<=75)*(H2:H51=1979)*(I2:I51="Nancy");G2:G51);1);"-")
...je souhaite remplacer PETITE.VALEUR par MIN, est-ce-qu'il y a une possibilité pour déclarer la valeur 0 (quand MIN ne trouve rien) comme
une erreur ?

Merci pour tous vos conseils...
 

Discussions similaires

Réponses
1
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…