Fonctions SI/ET/OU imbriquées Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Avatar du membre
leakim
Membre impliqué
Membre impliqué
Messages : 1'809
Appréciations reçues : 13
Inscrit le : 11 décembre 2012
Version d'Excel : 2010 - 2016 FR
Téléchargements : Mes applications

Message par leakim » 31 juillet 2019, 23:35

Bonsoir,
On est pas si loin du SI/ET/OU du titre ! :shock:

Voici donc une formule sortie du chapeau après une bonne vingtaine de minutes pour comprendre la logique :lole:
=SI(SOMMEPROD(N(($A$2:$A$15=A2)))=SOMMEPROD((($A$2:$A$15=A2)*($B$2:$B$15="groupe AF")));"Ligne non concurrencée";SI(SOMMEPROD(($A$2:$A$15=A2)*($B$2:$B$15="groupe AF"));"Ligne concurrencée";SI(MOD(SOMMEPROD(($A$2:$A$15=A2)*($B$2:$B$15={"cie régulière"."low cost"."aviation d'affaires"}));2)=0;"Ligne concurrencée";"Ligne non concurrencée")))
Ça ne fait pas rêver :dodo:

A me redire avec le fichier si c'est bien cela ?
Leakim
lignes CCU - NON CCU Leakim.xlsx
(12.33 Kio) Téléchargé 5 fois
On apprend par des essais/erreurs. L'erreur, serait de ne pas en faire... :noel:
Image
e
etsije
Membre fidèle
Membre fidèle
Messages : 196
Appréciations reçues : 4
Inscrit le : 27 septembre 2015
Version d'Excel : 2013 FR

Message par etsije » 1 août 2019, 06:19

Bonjour fabiennesd, ausecour, le forum
Si j'ai bien compris ta demande est juste de savoir si la ligne est concurrencée ou non
Si c'est cela je te renvoi ton fichier avec en colonne D une proposition
Cordialement
lignes CCU - NON CCU.xlsx
(9.22 Kio) Téléchargé 8 fois
Avatar du membre
Ausecour
Passionné d'Excel
Passionné d'Excel
Messages : 3'118
Appréciations reçues : 346
Inscrit le : 31 mai 2018
Version d'Excel : 2010 FR, 2013 FR

Message par Ausecour » 1 août 2019, 08:31

Bonjour,

ah oui, avec le fichier Excel ça va mille fois mieux :P

Je te propose cette solution:
Copie de lignes CCU - NON CCU.xlsx
(9.42 Kio) Téléchargé 8 fois
Je t'ai mis deux formules différentes qui te donnent le même résultat, le SOMMEPROD et le NB.SI.ENS comptent chacun à leur façon, le nombre de lignes qui font le même trajet, et qui sont un type de ligne différent, le SI se charge de tester si il y en a au moins 1 qui concurence la ligne, et fait apparaitre le texte correspondant.
:btres:
Plus un sujet a un titre précis, des explications claires, et un fichier Excel bien préparé, plus il a de chances d'avoir une réponse qui répond au besoin, mettez toutes les chances de votre côté :bien:
"100% des gagnants auront tenté leur chance" :trfl:
f
fabiennesd
Nouveau venu
Nouveau venu
Messages : 9
Inscrit le : 31 juillet 2019
Version d'Excel : 2013 FR

Message par fabiennesd » 1 août 2019, 21:06

merci Ausecour, Etsije et Leakim,
je teste ces formules dès demain matin et je vous tiens au courant..
attn Etsije : pour répondre à ta question en fait non ..
ce n'est pas simplement de savoir si la ligne est concurrencée ou pas.
Il faut que la réponse soit "ligne concurrencée" seulement si le groupe AF opère la ligne ainsi qu'une low cost, ou une cie régulière ou une cie type aviation affaire.
si la ligne est opérée par exemple par une low cost ET une cie régulière la réponse sera "non concurrencée" puisque groupe AF ne la fait pas...
j'ai besoin, en ligne concurrencée, uniquement des lignes opérées par 2,3 ou 4 cies DONT groupe AF obligatoirement
ça complique un peu tout..
j'espère que je suis claire..
merci à vous pour le temps que vous m'offrez
et excellente soirée
f
fabiennesd
Nouveau venu
Nouveau venu
Messages : 9
Inscrit le : 31 juillet 2019
Version d'Excel : 2013 FR

Message par fabiennesd » 1 août 2019, 21:15

attn Leakim,
comme pour les formules d'Ausecour et Etsije, je vais pouvoir tester ta formule dès demain matin en arrivant au travail.
J'ai une petite question :
que signifie le N au début de la formule?
=SI(SOMMEPROD(N(($A$2:$A$15=A2)))=SOMMEPROD((($A$2:$A$15=A2)
et quelle est la différence entre des parenthèses ( ), { } et [ ] dans les formules?
Avatar du membre
leakim
Membre impliqué
Membre impliqué
Messages : 1'809
Appréciations reçues : 13
Inscrit le : 11 décembre 2012
Version d'Excel : 2010 - 2016 FR
Téléchargements : Mes applications

Message par leakim » 1 août 2019, 21:56

Bonjour,
En attendant que tu testes les différentes propositions.
Le N ou -- au début de la fonction sommeprod est un marqueur qui transforme le calcul en test logique vrai ou faux. d'ailleurs le *1 de Ausecour transforme le test logique en valeur 0 ou 1. C'est d’ailleurs plutôt bien vue pour dans cette situation ;;)

Pour les parenthèses () c'est pour les matrices à calculer de façon classique. les parenthèses {} sont ici utilisées pour définir une matrices de données que l'on charge en dur directement dans la formules ici "cie régulière"."low cost"."aviation d'affaires".
Donc dans la formules je prend la plage où je peux trouver l'un des trois critères : ($B$2:$B$15={"cie régulière"."low cost"."aviation d'affaires"}) . Si en b2:b15 l'un des critères est présent alors vrai


Pour [] je ne sais pas ?

Leakim
On apprend par des essais/erreurs. L'erreur, serait de ne pas en faire... :noel:
Image
Avatar du membre
Ausecour
Passionné d'Excel
Passionné d'Excel
Messages : 3'118
Appréciations reçues : 346
Inscrit le : 31 mai 2018
Version d'Excel : 2010 FR, 2013 FR

Message par Ausecour » 2 août 2019, 08:39

fabiennesd a écrit :
1 août 2019, 21:06
Il faut que la réponse soit "ligne concurrencée" seulement si le groupe AF opère la ligne ainsi qu'une low cost, ou une cie régulière ou une cie type aviation affaire.
si la ligne est opérée par exemple par une low cost ET une cie régulière la réponse sera "non concurrencée" puisque groupe AF ne la fait pas...
Dans ce cas mon ancienne formule ne fonctionnera pas, je te transmets une nouvelle version:
Copie de Copie de lignes CCU - NON CCU.xlsx
(9.24 Kio) Téléchargé 3 fois
Plus un sujet a un titre précis, des explications claires, et un fichier Excel bien préparé, plus il a de chances d'avoir une réponse qui répond au besoin, mettez toutes les chances de votre côté :bien:
"100% des gagnants auront tenté leur chance" :trfl:
f
fabiennesd
Nouveau venu
Nouveau venu
Messages : 9
Inscrit le : 31 juillet 2019
Version d'Excel : 2013 FR

Message par fabiennesd » 2 août 2019, 10:43

Bonjour à tous,
voici le fichier source anonymisé avec les retranscriptions de vos formules.
Les 2 premières formules d'ausecour et celle de Leakim ne fonctionnent pas, soit j'ai mal recopié soit il y a une erreur de syntaxe que je ne sais pas corriger. La formule d'Etsije renvoie une valeur qui n'est pas correcte mais c'est parce que j'avais mal exprimé mon besoin.
Les deux dernières formules transmises par Ausecour semblent bien fonctionner et ont l'air toutes deux de renvoyer des réponses correctes. Dans quelles circonstances sont elles sensées renvoyer une donnée différente?

=SI(NB.SI.ENS($Z$2:$Z$200000;$Z2; $Y$2:$Y$200000;"<>"&$Y2)>=1;"ligne concurencée";"ligne non concurencée")

=SI(ET(NB.SI.ENS($Z$2:$Z$200000;$Z2;$Y$2:$Y$200000;"<>"&"groupe AF")>=1;NB.SI.ENS
tests formules Ausecour Etsije Leakim.xlsb
(720.19 Kio) Téléchargé 3 fois
tests formules Ausecour Etsije Leakim.xlsb
(720.19 Kio) Téléchargé 3 fois
($Z$2:$Z$200000;$Z2;$Y$2:$Y$200000;"groupe AF")>=1);"ligne concurencée";"ligne non concurencée")

en testant la requête je m'aperçois qu'en fait il faut que je rajoute une condition supplémentaire
pour que tout ceci soit vrai il faut que dans la colonne Q (seats Y) le chiffre renvoyé soit supérieur à 0 (j'ai supprimé mes données pour ce fichier test.

Merci encore de tous ces conseils, de tous les forums excel testés, c'est vraiment celui ci qui me répond le plus rapidement et avec beaucoup de pédagogie
bonne journée à tous
Avatar du membre
Ausecour
Passionné d'Excel
Passionné d'Excel
Messages : 3'118
Appréciations reçues : 346
Inscrit le : 31 mai 2018
Version d'Excel : 2010 FR, 2013 FR

Message par Ausecour » 2 août 2019, 10:50

Bonjour (°v°)°

J'ai modifié la dernière formule que j'avais pour rajouter un critère à chaque NB.SI.ENS, plage critère, colonne Q, critère: ">=1", comme ça, seules les lignes avec un nombre de sièges positifs et non nuls seront comptés :)

Voici le fichier modifié:
Copie de tests formules Ausecour Etsije Leakim.xlsb
(707.69 Kio) Téléchargé 6 fois
Plus un sujet a un titre précis, des explications claires, et un fichier Excel bien préparé, plus il a de chances d'avoir une réponse qui répond au besoin, mettez toutes les chances de votre côté :bien:
"100% des gagnants auront tenté leur chance" :trfl:
Avatar du membre
leakim
Membre impliqué
Membre impliqué
Messages : 1'809
Appréciations reçues : 13
Inscrit le : 11 décembre 2012
Version d'Excel : 2010 - 2016 FR
Téléchargements : Mes applications

Message par leakim » 2 août 2019, 17:42

Bonjour,

Merci pour ton retour sur la pédagogie du Forum :youhou:

Je te laisse regarder la proposition d'Ausecour.
Il faut avoir en tête que la fonction SOMMEPROD supporte mal les plages de données avec des vides ou avec des données issues d'une formule ce qui est le cas avec rechercheV...
Donc ma proposition avec Sommeprod n'est pas assez stable pour ton projet.

Bonne suite à toi.

Leakim
On apprend par des essais/erreurs. L'erreur, serait de ne pas en faire... :noel:
Image
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message