Numbers - Comment placer une condition sur une date ?

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

Shan

Membre confirmé
9 Mars 2009
31
0
Bonjour,

J'utilise le tri pour additionner une suite de rangs dont les données se situent entre deux dates. Comme la somme comprend les rangs masqués je ne peux pas l'utiliser ni la reporter. Est il possible de placer une condition sur un intervalle de date? Quelque chose du genre =SI (entre deux dates);SOMME B;""):confused:

Merci du coup de pouce
 
un truc comme =SI(ET(date1>xxx;date2<yyy);SOMME B;"") ?
 
J'ai essayé la formule proposée mais sans succès. Voici la formule :=SI(ET(Kostenstaat :: B7>DATE(2008;11;30);<DATE(2008;12;31);Kostenstaat :: C7 ;"")))

Elle me parait logique. Y aurait il une erreur ?
 
J'ai essayé la formule proposée mais sans succès. Voici la formule :=SI(ET(Kostenstaat :: B7>DATE(2008;11;30);<DATE(2008;12;31);Kostenstaat :: C7 ;"")))

Elle me parait logique. Y aurait il une erreur ?

Je pense, oui, deux, même. Essaie

=SI(ET(Kostenstaat :: B7>DATE(2008;11;30);Kostenstaat :: B7<DATE(2008;12;31);Kostenstaat :: C7 ;""))

EDIT : je ne pratique pas encore Numbers, dont toutes les finesses m'échappent encore, je n'avais pas encore remarqué qu'il embarquait la fonction "Somme.SI", donc, tu pourrais remplacer ta formule (à recopier sur toute la colonne par une formule unique au bas de la colonne C, qui serait celle ci (en supposant que tu aies 100 lignes de valeurs, et que la ligne 1 soit réservée pour les titres de colonnes, donc tu adaptera l'intervalle au nombre de lignes réel que tu as :

=SOMME.SI(Kostenstaat :: B2:B101;ET(>DATE(2008;11;30);<DATE(2008;12;31));Kostenstaat :: C2:C101)

Cette fonction ne prendra en compte la cellule C d'une ligne dans la somme que si la date de la colonne B de cette ligne est dans l'intervalle choisi.

Je ne te garantis pas la syntaxe à 100%, je suis parti de la fonction équivalente d'Excel, et de ta formule à toi, pout la déduire, mais sur le principe, c'est ça !

EDIT bis : si tu vois un espace dans le dernier "Kostenstaat" de la formule, c'est un artifice de Safari 4, et je précise que je n'ai que Numbers 2 (iWork 9)
 
Merci Pascal mais dans ce cas, il me répond que SI requiert entre 2 et 3 arguments mais que 1 lui ont été attribué Implacable ?

Dans le cas de ta 2em proposition, il est encore plus implacable : il refuse de l'inscrire !
 
Merci Pascal mais dans ce cas, il me répond que SI requiert entre 2 et 3 arguments mais que 1 lui ont été attribué Implacable ?

Tu es sûr d'avoir bien retranscrit ? Il y a bien trois arguments :

Argument 1
Argument 2
Argument 3

=SI(ET(Kostenstaat :: B7>DATE(2008;11;30);Kostenstaat :: B7<DATE(2008;12;31);Kostenstaat :: C7;""))

Dans le cas de ta 2em proposition, il est encore plus implacable : il refuse de l'inscrire !

Tu utilises la version 1 ou la 2 de Numbers ? dans la 1, cette fonction n'existe peut-être pas ?

EDIT : il restait encore une erreur de parenthèses en fait, ça doit être :

=SI(ET(Kostenstaat :: B7>DATE(2008;11;30);Kostenstaat :: B7<DATE(2008;12;31));Kostenstaat :: C7;"")

Cela dit, s'agissant d'une somme, j'aurais remplacé le "" du troisième argument par 0 (zéro), ça parait plus logique !
 
Ca y est ! Ca marche ! Mille mercis ! La journée sera bonne :) Pour info j'utilise la toute récente Numbers 09.

A+
 
Pour info j'utilise la toute récente Numbers 09.

Alors il y a un problème de syntaxe, regarde dans "Insérer une fonction, car il donne bien

=SOMME.SI(intervalle; critères; [intervalle somme])

comme syntaxe, mais je ne comprend pas encore très bien à quoi correspondent ces "Kostenstaat :: " intercalés dans tes références, c'est peut-être à ce niveau que se situe ce problème !
 
Bonjour,

je m'insère dans cette discussion sur le SOMME.SI car j'ai un petit soucis avec ..

Pour le test ça ne fonctionne pas si je mets une cellule en test :(

exemple :

=SOMME.SI(Statut :: 'Rapport Prix/gains';"< Limites :: marge max)" ;Statut :: Prochain prix)

ça ne fonctionne pas j'ai essayé plusieurs combinaisons, avec ou sans guillemets, rien n'y fait

=SOMME.SI(Statut :: 'Rapport Prix/gains';"< 100" ;Statut :: Prochain prix)
Avec ce dernier exemple ça fonctionne... mais bon ça ne m'intéresse pas de devoir éditer la formule

une idée ??

Merci
 
Bonjour,

je m'insère dans cette discussion sur le SOMME.SI car j'ai un petit soucis avec ..

Pour le test ça ne fonctionne pas si je mets une cellule en test :(

exemple :

=SOMME.SI(Statut :: 'Rapport Prix/gains';"< Limites :: marge max)" ;Statut :: Prochain prix)

ça ne fonctionne pas j'ai essayé plusieurs combinaisons, avec ou sans guillemets, rien n'y fait

=SOMME.SI(Statut :: 'Rapport Prix/gains';"< 100" ;Statut :: Prochain prix)
Avec ce dernier exemple ça fonctionne... mais bon ça ne m'intéresse pas de devoir éditer la formule

une idée ??

Merci

Ben oui, c'est assez évident, "< Limites :: marge max)" n'est pas un critère, si j'ai bien compris l'organisation des tableaux de Numbers (encore une fois, je ne l'utilise pas), car le critère doit faire référence à une valeur, et non à une plage de valeurs.

il te faut une colonne supplémentaire avec un "SI" par ligne, et un "Somme" au bas de cette colonne, Somme.SI n'est pas la fonction à utiliser là.
 
Hum, ça ne me parait pas aussi évident....

car cela fonctionne si par exemple je fais un test sur l'égalité mais pas avec le signe d'infériorité

j'ai aussi testé en mettant le numéro de la case à tester "Limites :: D2", dans ce cas là il n'y a pas de doutes possible ? il teste bien une valeur
 
"Limites :: marge max" est une plage de valeurs (donc qui, à priori qui comporte plusieurs valeurs), comment veux tu que dans cette plage, il sache quelle valeur utiliser pour la comparaison ?
 
ça c'est numbers qui nomme le champ comme cela, mais ce n'est pas une liste de valeurs, il n'y a qu'une seule valeur dans la colonne nommée "Marges Max"

J'ai eu le même raisonnement que toi, c'est pour cela que j'ai testé directement avec le nom de la cellule => Limites :: D2

mais ca ne corrige en rien ...

le soucis vient du fait que j'ai besoin de l'opérateur de comparaison "<", si je devais faire un test juste d'égalité je n'aurai pas besoin de mettre le "=" et dans ce cas cela fonctionne

d'après l'aide Apple lors de comparaison on doit mettre tout entre double côtes ( http://docs.info.apple.com/article.html?path=Keynote/4.0/fr/c10kn180.html ), mais j'ai l'impression que si je mets entre côtes la variable "< Limites :: D2" cela est interprété comme du texte, je n'ai pas de message d'erreur mais rien n'est additionné .. si j'omets les cotes là j'ai une erreur...
 
ça c'est numbers qui nomme le champ comme cela, mais ce n'est pas une liste de valeurs, il n'y a qu'une seule valeur dans la colonne nommée "Marges Max"

J'ai eu le même raisonnement que toi, c'est pour cela que j'ai testé directement avec le nom de la cellule => Limites :: D2

mais ca ne corrige en rien ...

le soucis vient du fait que j'ai besoin de l'opérateur de comparaison "<", si je devais faire un test juste d'égalité je n'aurai pas besoin de mettre le "=" et dans ce cas cela fonctionne

Alors, si c'est ça, tu devrais vérifier le format de ta cellule "Limites :: D2", parce que si ça fonctionne avec = et pas avec un autre opérateur numérique, je ne vois qu'une seule raison possible : ce n'est pas un nombre qu'elle contient, elle doit être au format texte (contrairement à Excel, il me semble que "=" fonctionne pour du texte dans Numbers")!
 
non ça ne venait pas du type de cellule, qui est par défaut en automatique

Voilà la réponse, ça aidera surement quelqu'un un jour :
=SOMME.SI(Statut :: 'Rapport Prix/gains';"<"&Limites :: D2;Statut :: Prochain prix)

=> entre côtes, la variable n'est pas valué mais assimilé à du texte...
=> l'opérateur "<" sans côtes retourne la fonction en erreur
=> il manquait un simple "&", j'avoue que ce n'est pas très intuitif et que ça aurait du être mis en exemple...

Merci de t'être pencher sur mon problème