Bureautique Formules numbers : "double si" avec "sauf si"

  • Créateur du sujet Créateur du sujet édko
  • Date de début Date de début

édko

Membre enregistré
26 Juin 2024
4
1
28
Bonjour,
Je souhaite écrire une formule, mais je me perds dans le sens de mes SI je crois...
L'idée est pourtant simple :
Dans la cellule je souhaite :
Si H3 ≠ 0 alors C3-H3, sinon "" que j'écris simplement : SI(H3≠0;C3-H3;"")

C'est là que ça se complique :
Si H3 ≠ 0 alors C3-H3, sinon "" SAUF aussi SI G3≠0, dans ce cas "C3"

Je pensais écrire : SI(H3=0; SI(G3=0;"C3");"C3-H3")
Mais j'ai un message d'erreur
En gros, je souhaite que J se remplisse (ou non si G n'est pas vide) en faisant la soustraction (ou non si G et H sont vides)
C
G
H
J
1000250750
10001000
1000250
 
Bonjour

Pour que ta formule fonctionne, quelque chose comme

SI(H3=0; SI(G3=0;C3; “”);C3-H3)

(Non testé et à adapter en fonction de ton besoin)

Cordialement
Nicolas
 
Bonjour
Pareil que Nicolas ci-dessus.
Sinon, si tu te perds dans des valeurs logiques, tu peux revenir aux fondamentaux avec un tableau de tous les cas :


H=0H=0H<>0H<>0
G=0G<>0G=0G<>0
V1V2V3V4

qui permet d'établir la formule logique générale :
=V1x(H=0)x(G=0)+V2x(H=0)x(G<>0)+V3x(H<>0)x(G=0)+V4x(H<>0)x(G<>0)

Dans ton cas, v1 c'est Cn pour la ligne n, v2 c'est (Cn-Hn) et v3=v4=0
 
Dernière édition:
Bonjour,
@les_innommables66 :up: :coucou:

Si H3 ≠ 0 alors C3-H3, sinon "" SAUF aussi SI G3≠0, dans ce cas "C3"
suivant comment on interprète cette phrase ! A quelle partie de la formule s'adresse le sauf.

la formule pourrait être :
SI(H3=0; SI(G3=0;""; C3);C3−H3)
 
Bonjour,
Merci pour vos retour
Je vais être honnête @Gerapp38... J'ai rien compris haha

Pour l'autre formule, cela ne fonctionne pas car si G n'est pas vide, il me dit qu'il faut une valeur à H pour faire la soustraction...

Je reformule ma phrase du coup @zeltron54 :
Dans le cas où H3 n'est pas vide, on fait J3=C3-H3,
SINON deux chemins :
1) G3 n'est pas vide, donc on laisse J3 vide
2) G3 est vide, donc on fait J3=H3

Encore merci pour votre aide
Pablo
 
Bonjour,
Pourtant chez moi cela fonctionne !

Peut être mettre les cellules G3, H3, J3 au format nombre.
 
Bonjour

Essaye:

SI(H3=0; SI(G3=0;H3; “”);C3-H3)

Attention: il y a une différence entre « être vide » et « contenir la valeur zéro »
La formule ci dessus reste sur l’idée de « contenir la valeur zéro » pour faire le test.
Sinon, à remplacer par la formule adéquate.

Cordialement
Nicolas
 
Je vais être honnête @Gerapp38... J'ai rien compris haha
C'est dommage, c'est la façon la plus sûre pour passer en revue tous les cas de figures avec deux variables logiques indépendantes.
  • Mon tableau se lit par colonne et explore les quatre cas de figure possibles, selon que les valeurs en H et en G sont nulles ou non.
  • La forme de formule que je donne est la somme de 4 multiplications de 3 termes
  • Chaque multiplication de 3 termes comprend deux termes logiques dont chacun vaut 0 ou 1, selon que l'égalité (ou l'inégalité) est fausse ou vraie, et le troisième terme la valeur V désirée lorsque les termes logiques précités sont tous les deux vrais...

En particulier, cela permet de voir que tu ne précises pas le calcul à exécuter si H3 et G3 sont tous deux non vides simultanément...

Avantage, c'est plus facilement généralisable que des imbrications de SI, inconvénient, ca fonctionne seulement en valeurs et résultats numériques, pas des chaînes alphanumériques...
 
Dans le cas où H3 n'est pas vide, on fait J3=C3-H3,
SINON deux chemins :
1) G3 n'est pas vide, donc on laisse J3 vide
2) G3 est vide, donc on fait J3=H3
C'est vraiment pas clair : si H3 est vide, on est donc dans le SINON, qui donne J3 vide ou bien J3=H3 qui est par hypothèse est vide ! Je suppose que c'est plutôt J3=C3.
Concrètement, la formule qui découle de mes indications se résume à :

=(C3−H3)×(H3≠0)+C3×(H3=0)×(G3=0)+0×(H3=0)×(G3≠0)

Je précise que le caractère ≠ s'obtient en tapant les caractères <> et le x des multiplications par le caractère *. Par ailleurs cela crée une cellule avec un zéro 0, et non une cellule vide, mais on peut estomper les valeurs nulles de la colonne J avec une mise en forme conditionnelle.
 
Bonjour de nouveau tout le monde

@Gerapp38 : effectivement, je me perds de plus en plus, c'est bel et bien J3=H3. Je comprends mieux ton tableau, mais la formule ne fonctionne pas.. On me répète la même chose : "L'opérateur "-" attend un nombre, une date ou une durée mais a trouvé ""
Et petit bonus supplémentaire, il précise que la formule utilise une expression booléenne au lieu d'un nombre. Si cela peut aider.

Je vais tenter en remplaçant les vides par des 0, que je masquerai ensuite, mais comme il y a des formules dans les case G3 et H3 à l'origine, j'espère ne pas tout casser

A plus tard certainement... :')
Pablo

Update :
En remplaçant les vides par des 0, le message d'erreur disparaît.
MAIS, le résultat n'est pas bon car je me retrouve avec J3=C3 alors que G3<>0, or, si G3<>0, je veux que J3=0.

J'ai presque envie de vous mettre mon tableau en pj pour que vous compreniez...
CGHJ
10002500H=0 mais G<>0 alors J=0
10000250H=0 alors J = C-H
100000H=0 ET G=0 alors J=C
J'espère être clair o_O
J'ai l'impression de galérer pour un truc tout bête
 
Dernière édition:
Je n'ai pas mon Mac sous la main, du coup j'ai testé avec succès seulement avec Numbers sur iOS, il y a peut-être quelques paramètres supplémentaires sous MacOS...
 
Je viens de récupérer mon Mac, alors en effet, l'utilisation d'expressions booléennes donne un petit avertissement signalé par le triangle bleu, mais le calcul se fait, et me parait conforme aux résultats que tu attends

Capture d’écran 2024-06-26 à 19.25.31.png
 
Re !
Alors @Gerapp38 un très très grand merci !
J'ai tout repris avec ta méthode et ça fonctionne PAR-FAI-TE-MENT.
Mes anomalies venaient davantage de mes cellules H et G donc les formules n'étaient pas parfaites : tant je mettais X="", tantot X=0 et même X="0".
En remettant tout en ordre pour correspondre à ta formule, c'est impeccable.
Merci beaucoup.

Je vais d'ailleurs biiiiien garder ta méthode par le tableau et retranscrire ensuite à ta façon pour les chose un peu complexe et ne pas imbriquer des SI à m'y perdre.
Merci tout le monde
Pablo
 
  • J’aime
Réactions: Gerapp38