Excel: Trouver la valeur nég. la + proche de0

Résolu
Ginkgo -  
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
A B C D E F G
1 Date 1 2 3 4 5 ?
2 Valeur 6 -12 -15 -12 8 ??

J'aimerai faire apparaître en G2 la valeur de la plage(B2:F2) la plus proche du zéro en donnant la priorité au nombre négatif.
Exemple ci dessus: en B2 nous avons 6 qui est le plus proche de 0. Cependant il existe des nombres négatifs donc le résultat est -12.

Ensuite je voudrais afficher en G1 la date correspondante au résultat trouvé en G2.
Une contrainte: en cas de double prendre la plus petite date.
Exemple ci-dessus: pour une valeur de -12, nous trouvons deux dates: 2 et 4. Le bon résultat devant être le plus petit, en G1 le résultat doit être 2.

Quels formules doit on mettre en G1 et G2 ???

Merci pour votre aide

Eric
Configuration: Windows XP
Firefox 3.5.4

6 réponses

  1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonjour
    ce serait plus facile avec un tableau en colonne plutôt qu'en ligne.
    On réfléchi à la deuxième question, pour la première essayez si cela correspond à ce que vous voulez:
    =GRANDE.VALEUR(B2:F2;NB.SI(B2:F2;">0")+1)
    ca devrait aller
    PS pour la 2° question ce serait tout simple avec l'inverse:
    les dates en ligne 2 et le Nombres en ligne 1
    Dans ce cas,la formule précédente en G1au lieu de G2 est en G2:
    =RECHERCHEH(G1;$B$1:$F$2;2;0)

    revenez si ça ne convient pas
    Crdlmnt
    0
  2. Ginkgo56 Messages postés 2 Statut Membre
     
    Merci de participer à mon problème.
    Cependant la solution proposée ne fonctionne pas
    Si dans la ligne de valeur, il n'y a pas de valeur négative la réponse en G1 est #nombre

    Je ne peux pas changer la position du tableau. Il doit tenir sur 2 lignes

    Merci
    0
  3. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Re
    Alors essayez
    =SI(NB.SI(B2:F2;"<0")=0;PETITE.VALEUR(B2:F2;1);GRANDE.VALEUR(B2:F2;NB.SI(B2:F2;">=0")+1))
    nota: cette formule renvoi 0 s'il y en a un dans la liste.
    Pour votre seconde question et compte tenu des possibles égalités:
    il faudrait que vous puissiez réserver une ligne , (masquable) pour construire ce tableau, pour l'exemple de :
    de B1000 à F1000:en B1000, à tirer sur la longueur du champ B à F:
    =SI(B2=$G$2;B1;"")
    est en G1, la formule:
    =MIN(B1000:F1000)
    bonne chance
    crdlmnt
    0
  4. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour GInKgo, Vaucluse

    message annulé excusez moi
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Ginkgo56 Messages postés 2 Statut Membre
     
    Bravo et Merci

    la formule matricielle : "=SI(NB.SI(B2:F2;"<0")=0;PETITE.VALEUR(B2:F2;1);GRANDE.VALEUR(B2:F2;NB.SI(B2:F2;">=0")+1)) "
    fonctionne à la perfection !!!
    en G1, la formule : "=INDEX(B1:F1;EQUIV(G2;B2:F2;0))" fonctionne dans la mesure où les dates sont rangées dans l'ordre chrono.

    Merci Vaucluse
    Bonne journée
    0