Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Mariesurexcel

XLDnaute Nouveau
Bonjour à tous!

Voici ma formule actuelle qui fonctionne. Mais j'ai besoin d'y imbriquer un sauf si, sauf que je n'y arrive pas...

Formule actuelle:
SI(ESTERREUR(MOYENNE(SI(OU((GAUCHE(Data2011!$A$2:$A$65536;3)='LOS by Rate Code by Month'!$A32);(GAUCHE(Data2011!$A$2:$A$65536;2)='LOS by Rate Code by Month'!$A33))*(MOIS(Data2011!$C$2:$C$65536)=3);Data2011!$F$2:$F$65536)));"0";(MOYENNE(SI(OU((GAUCHE(Data2011!$A$2:$A$65536;3)='LOS by Rate Code by Month'!$A32);(GAUCHE(Data2011!$A$2:$A$65536;2)='LOS by Rate Code by Month'!$A33))*(MOIS(Data2011!$C$2:$C$65536)=3);Data2011!$F$2:$F$65536))))

Besoin de rajouter après les formules GAUCHE un sauf si "TOTN", donc en gros:
OU((GAUCHE(Data2011!$A$2:$A$65536;3)='LOS by Rate Code by Month'!$A32);(GAUCHE(Data2011!$A$2:$A$65536;2)='LOS by Rate Code by Month'!$A33)); SAUF SI Data2011!$A$2:$A$65536 = "TOTN"

Et donc je ne sais pas comment modifier ma formule pour que ça fonctionne...


Merci beaucoup d'avance pour votre aide!
Marie
 
Re : Sauf

Bonjour

Sans analyser en détail ta formule (surtout sans fichier exemple), le principe pour sauf c'est
si(trucmuche<>machin.valeur si différent;valeur si égal)
si tu dois ajouter ce test à un autre tu les mets dans un même si(et(truc<>machin; bidule);valeur si vrai;valeur si faux)
 
Re : Sauf

Bonjour Mariesurexcel, salut Misange 🙂

Il faut une formule matricielle, validée par Ctrl+Maj+Entrée :

Code:
=SI(ESTERREUR(MOYENNE(SI((Data2011!$A$2:$A$1000<>"TOTN" )*((GAUCHE(Data2011!$A$2:$A$1000;3)=LOSbyRateCodebyMonth!$A32)+(GAUCHE(Data2011!$A$2:$A$1000;2)=LOSbyRateCodebyMonth!$A33))*(MOIS(Data2011!$C$2:$C$1000)=3);Data2011!$F$2:$F$1000)));0;MOYENNE(SI((Data2011!$A$2:$A$1000<>"TOTN" )*((GAUCHE(Data2011!$A$2:$A$1000;3)=LOSbyRateCodebyMonth!$A32)+(GAUCHE(Data2011!$A$2:$A$1000;2)=LOSbyRateCodebyMonth!$A33))*(MOIS(Data2011!$C$2:$C$1000)=3);Data2011!$F$2:$F$1000)))
J'ai limité les plages à la ligne 1000, car 65536 c'est trop lourd 😎

Bien entendu la formule ne doit pas se trouver en colonnes A, C ou F de la feuille Data2011.

A+
 
Dernière édition:
Re : Sauf

Re,

Pardon, en nettoyant votre formule j'avais enlevé les espaces sur LOS by Rate Code by Month :

Code:
=SI(ESTERREUR(MOYENNE(SI((Data2011!$A$2:$A$1000<>"TOTN" )*((GAUCHE(Data2011!$A$2:$A$1000;3)='LOS by Rate Code by Month'!$A32)+(GAUCHE(Data2011!$A$2:$A$1000;2)='LOS by Rate Code by Month'!$A33))*(MOIS(Data2011!$C$2:$C$1000)=3);Data2011!$F$2:$F$1000)));0;MOYENNE(SI((Data2011!$A$2:$A$1000<>"TOTN" )*((GAUCHE(Data2011!$A$2:$A$1000;3)='LOS by Rate Code by Month'!$A32)+(GAUCHE(Data2011!$A$2:$A$1000;2)='LOS by Rate Code by Month'!$A33))*(MOIS(Data2011!$C$2:$C$1000)=3);Data2011!$F$2:$F$1000)))
A+
 
Re : Sauf

Bonsoir @ tous,
On peut gérer l'erreur loin de ESTERREUR() car l'esterreur nous oblige de retaper toute la formule dedans ce qui rend la formule trop longue...
Un fichier exemple va nous permettre d’être plus concis sur les réponses...
Amicalement
 
Re : Sauf

Bonjour R@chid 🙂 le fil,

On peut en effet alléger la formule.

1) S'il n'y a pas de valeurs d'erreurs dans les données, avec SOMMEPROD :

Code:
=SI(SOMMEPROD((Data2011!$A$2:$A$1000<>"TOTN" )*((GAUCHE(Data2011!$A$2:$A$1000;3)='LOS by Rate Code by Month'!$A32)+(GAUCHE(Data2011!$A$2:$A$1000;2)='LOS by Rate Code by Month'!$A33))*(MOIS(Data2011!$C$2:$C$1000)=3));MOYENNE(SI((Data2011!$A$2:$A$1000<>"TOTN" )*((GAUCHE(Data2011!$A$2:$A$1000;3)='LOS by Rate Code by Month'!$A32)+(GAUCHE(Data2011!$A$2:$A$1000;2)='LOS by Rate Code by Month'!$A33))*(MOIS(Data2011!$C$2:$C$1000)=3);Data2011!$F$2:$F$1000));0)
2) En créant le nom défini Formule avec :

Code:
=MOYENNE(SI((Data2011!$A$2:$A$1000<>"TOTN" )*((GAUCHE(Data2011!$A$2:$A$1000;3)='LOS by Rate Code by Month'!$A$32)+(GAUCHE(Data2011!$A$2:$A$1000;2)='LOS by Rate Code by Month'!$A$33))*(MOIS(Data2011!$C$2:$C$1000)=3);Data2011!$F$2:$F$1000))
la formule s'écrit alors :

Code:
=SI(ESTERREUR(Formule);0;Formule)
et la validation matricielle n'est plus nécessaire.

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
22
Affichages
1 K
Réponses
3
Affichages
271
Réponses
9
Affichages
646
Réponses
5
Affichages
474
Retour