Formule si/et/ou
Bonjour,
Je dois établir une formule permettant de définir une longueur de banches (=moule pour fabriquer un mur/voile) selon plusieurs combinaisons de critères :
voici mon tableau :
B C D E F
VOILES Extrémités des voiles Longueur mini.
repère longueur Extré. 1 Extré. 2 des banches
10,00 B L 10,15
Je voudrais une formule automatique pour la colonne F:
Cette colonne dépend de ce qui précède, à savoir comment sont les extrémités de mon voile.
Dès que le voile est L, il faut ajouter 0,15 à la longueur initiale du voile (colonne C). Du coup, si le voile est L-L, il faut ajouter 0,30.
Dès que le voile est B, la longueur initiale du voile reste la même.
Dès que le voile est R, il faut ajouter 0,10 à la longueur initiale du voile (colonne C). Du coup, si le voile est R-R, il faut ajouter 0,20.
Dès que le voile est A (que ce soit intérieur ou extérieur), la longueur initiale du voile reste la même.
Cela fait 16 combinaisons possibles dont voici le détail :
L-L + +0.30
B-B +0.00
R-R +0.20
A-A +0.00
L-B ou B-L +0.15
B-R ou R-B +0.10
B-A ou A-B +0.00
R-L ou L-R +0.25
R-A ou R-A +0.10
A-L ou A-L +0.15
Voici ma formule :
=SI(ET(D4="L";E4="L");C4+0,15*2;SI(ET(D4="B";E4="B");C4;SI(ET(D4="R";E4="R");C4+0,20;SI(ET(D4="A";E4="R");C4;SI(ET(D4="L";E4="B");C4+0,15;SI(ET(D4="B";E4="L");C4+0,15;SI(ET(D4="B";E4="R");C4+0,10;SI(ET(D4="R";E4="B");C4+0,10;SI(ET(D4="B";E4="A");C4;SI(ET(D4="A";E4="B");C4;SI(ET(D4="R";E4="L");C4+0,25;SI(ET(D4="L";E4="R");C4+0,25;SI(ET(D4="A";E4="R");C4+0,10;SI(ET(D4="R";E4="A");C4+0,10;SI(ET(D4="A";E4="L");C4+0,15;SI(ET(D4="L";E4="A");C4+0,15;))
Excel me dit qu'elle est trop longue chose que je peux concevoir et ne m'affiche donc pas de résultat : comment faire pour la raccourcir ?
En vous remerciant,
Audrey.
Bonjour audreys,
Une alternative pour obtenir une fonction plus courte (utiliser la correspondance des lettres avec un chiffre sous forme d'un tableau -> RechercheV)
Voir fichier "Voiles"
Le seul défaut de RechercheV, c'est si il y a des doublons (ce qui n'est pas le cas ici ^^), il renvoie la première valeur qui correspond et ne considère pas les autres.
=A1+RECHERCHEV(Feuil1!B1;Données!$A$1:$B$4;2;FAUX)+RECHERCHEV(Feuil1!C1;Données!$A$1:$B$4;2;FAUX)Pour résumer la formule :
J'aditionne la valeur de la cellule A1 à l'équivalence de la lettre dans la cellule B1 par rapport au tableau dans la feuille Données (RechercheV cherche donc "L", et s'il le trouve il renvoie le contenu de la deuxième colonne qui est sur la même ligne que le "L". Le "Faux" sert à déterminer si tu veux une correspondance exacte ou le résultat le plus proche ("Vrai"), mais cela donne rarement ce qui est souhaité.) et à l'équivalence de la lettre dans la cellule C1 par rapport au tableau dans la feuille données (ici c'est le même).
Donc si on part initialement de 10 et que L vaut 0 (premier cas -> L L) on obtient 10 +0 +0 = 10
Bonjour Audrays,
Pourriez vous mettre un fichier excel avec toutes les colonnes et le résultat souhaité afin d'apporter plus rapidement une solution appropriée.
Bonjour,
La réponse de timothe est très bien ! je ne connaissais pas ! on en apprend tous les jours.
Merci.
Bonjour audreys,
Y a pas de quoi.
Ouch, je viens de me relire, c'est vraiment pas joli, j'étais vraiment crevé hier et ça se sent ^^.
Il éxiste aussi RechercherH ( Recherche Horizontale, RechercheV étant Recherche Verticale), l'utilisation de l'un ou de l'autre dépend de l'agencement du tableau.
Dans les petits exemples ci-dessous je reste sur l'idée que l'on veut associer un chiffre à une lettre.
RechercheV fais les corrrespondances dans une ligne (on l'utilise quand on veut la réponse à la droite de la valeur cherchée, si on veut une valeur à gauche c'est plus compliqué, il faut bidouiller avec la fonction Offset ou Decaler) on l'utilise sur des tableaux de ce genre :
A 1
B 2
RechercheH fais les correspondances dans une colonne, on l'utilise sur des tableaux de ce genre :
A B
1 2
Si tu as besoin d'aide, n'hésite pas à demander et du coup
Bonne journée.