Fonction SI excel

Fermé
Aubol - 24 sept. 2012 à 21:13
 Aubol - 26 sept. 2012 à 09:06
Bonjour à tous,
j'ai un petit problème avec une fonction SI dans excel et je vous l'avoue j'ai du mal à comprendre.. Quelqu'un peut m'aider avant que je ne m'arrache une bonne partie de la tête merci O.o

=SI(ET(A14="";L14="");"";SI(ET(L14="";A14<>"");A14*J14;""))

Le résultat retourné est fr. 0.00 alors que dans la case A14 j'ai 1 et dans J14 9.00 sachant que A14 est un nombre de marchandise et J14 en format monétaire.

Merci et à bientôt!
A voir également:

4 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
25 sept. 2012 à 10:05
bonjour

si j"='ai compris
=SI(L14<>"";"";SI(A14<>"";A14*J14;""))
2
Je n'ai pas encore eu le temps de tester le bon fonctionnement de t'as formule michel_m mais à vu d'oeil ça m'a l'air pas mal!
0
Utilisateur anonyme
24 sept. 2012 à 21:26
Evidemment qu'il affiche 0 !
Dans la A14 tu dis qu'il y a 1. Donc le test A14="" renvoie 0. Donc la fonction ET(A14="";...) retourne 0 donc tu as cette fonction :
SI(ET(L14="";A14<>"");A14*J14;"")

Qui retourne une chaîne vide. Donc ta fonction complète retourne une chaîne vide, donc un "0", équivalent sur Excel.

Qu'est-ce que tu veux afficher ?
0
Utilisateur anonyme
24 sept. 2012 à 21:31
Oups pardon j'ai confondu A14 et L14 !! Dsl.. D'ailleur, ya quoi dans L14 ?
0
ducdosteflem
24 sept. 2012 à 21:36
Bonsoir,
si L14 non vide ====> le résultat est 0
0
Utilisateur anonyme
24 sept. 2012 à 22:08
En effet j'ai fait le test et ça fait pareil chez moi. Alors décortiquons !

On a :
A14 --> 1
J14 --> 9
L14 --> "Bonsoir" (admettons)

Les tests sur la valeur de tes cellules donnent un résultat binaire : ou 1 en cas de réussite, 0 en cas d'échec.

On effectue les tests "primaires" de ta fonction :
A14="" --> 0 (En effet, A14 contient qqc)
L14="" --> 0 (Pareil)
A14<>"" --> 1 (A14 ne contient pas rien)

Ensuite, tu utilises la fonction ET. Cette fonction renvoie 1 (la réussite du test) si et seulement si L'ENSEMBLE des tests renvoient 1. Si un seul renvoie 0 (échec du test), alors la fonction ET renvoie 0.

Donc
ET(A14="";L14="") --> ET(0;0) --> 0
ET(L14="";A14<>"" --> ET(0;1) --> 0

Donc tous test tests ET() sont faux.

Enfin la fonction SI() détermine des valeurs personnalisés en fonction de l'issu du test. C'est-à-dire, si le premier argument (le test), renvoie 0, on affiche la dernière valeur.
Pour les SI :
SI(ET(L14="";A14<>"");A14*J14;"") --> SI(0;9;"") --> "" (Car le test renvoie 0, on affiche "")
SI(ET(A14="";L14="");"";SI(ET(L14="";A14<>"");A14*J14;"")) --> SI(0;"";"") --> ""

Dans tout les cas, Si les deux ET() retournent 0, la fonction affiche "", ou 0 selon le format de ta cellule.
Ou est l'erreur de logique, selon toi ?
0
ducdosteflem
24 sept. 2012 à 22:15
salut, rd_9, le fil
et si L14 devait être vidée pour que le(s) résultat(s) s'affiche(ent) ?
0