Test logique ?

F

Fanou59

Guest
Bonjour,

Voici ma requête :

Dans une cellule, je met en place un test logique, et je voudrai que si mon test est faux alors je compare la ligne du dessous et je recommance le test jusqu'a ce que je trouve la bonne ligne !

Exemple :

=SI(ET(1er test; 2ème test; 3ème test);(différence entre 2 cellules);(compare la ligne de dessus du même test et on recommance)

Est ce clair ?

MErci
 

Tibo

XLDnaute Barbatruc
Salut Fanou,

Je ne suis pas sûr d'avoir compris ce que tu voulais (en fait j'ai pas compris du tout) !!!

Le plus simple serait que tu nous joignes un petit fichier dans lequel tu nous décris le plus précisément possible quels sont les test que tu veux faire avec les réponses que tu attends de ces test.

A partie de là, on devrait pouvoir te trouver comment rédiger ces tests.

Pour joindre un fichier, suis les conseils de ce tutoriel :

Lien supprimé

@+


P.S. : 59, c'est ton département ? Si oui, c'est un ch'timi qui te répond.
 
F

Fanou59

Guest
Et oui je suis de ch'nord !

Voici donc un petit fichier pour mieux me faire comprendre....

Un grand merci... [file name=ExTest.zip size=9699]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/ExTest.zip[/file]
 

Pièces jointes

  • ExTest.zip
    9.5 KB · Affichages: 51
  • ExTest.zip
    9.5 KB · Affichages: 44
  • ExTest.zip
    9.5 KB · Affichages: 45

Charly2

Nous a quittés en 2006
Repose en paix
Bonjour Fanou59 et Tibo, bonjour le forum,

J'ai bien une réponse à te donner sous forme de formule matricielle, mais je suis sûr qu'il existe plus simple et j'espère que des spécialistes des formules viendront t'en proposer une autre.

En C7, sur ta feuille d'octobre, tu entres la formule suivante :

=SOMME(SI(D7='Sept 05'!$C$7:$C$15;SI(E7='Sept 05'!$D$7:$D$15;B7-'Sept 05'!$B$7:$B$15;0);0))

que tu valides par Alt+Ctrl+Entrée.

C'est un début ;)

Amicalement
Charly
 

Charly2

Nous a quittés en 2006
Repose en paix
Re à tous ceux que j'ai cités, bonsoir Monique, bonsoir le forum,

D'abord un grand merci à Monique pour cette formule ;)

Pour Fanou maintenant, une formule matricielle est une formule qui scanne toutes les cellules d'une plage les unes après les autres.

SOMMEPROD est une formule qui accepte des matrices (donc plage de cellule) et fait la même chose, dans le cas présent, que la formule que je t'ai donnée, mais beaucoup plus rapidement.

la formule de Monique :

=B7-SOMMEPROD((D7='Sept 05'!$C$7:$C$15)*(E7='Sept 05'!$D$7:$D$15);'Sept 05'!$B$7:$B$15)

effectue les opérations suivantes dans l'ordre :
1) elle vérifie que D7 est égale à 'Sept 05'!C7 et si c'est VRAI, renvoie la valeur 1 (VRAI) sinon 0 (FAUX).
2) elle multiplie cette valeur par la condition qui suit (E7='Sept 05'!D7) et renvoie inévitablement 0 ou 1 (FAUX ou VRAI)
3) elle multiplie le produit précédent par 'Sept 05'B7. Tu remarqueras donc que si une des deux précédentes conditions est fausse, celle-ci sera multipliée par 0
4) elle recommence avec les opérations 1 à 3 avec les cellules successives de la plage de données, donc 'Sept 05'!C8 et 'Sept 05!D8 et le multiplie par 'Sept 05'!B8...
5) Elle fait la somme de tous ces produits (de la ligne 7 à la ligne 15 dans la feuille de septembre)...

Les seuls inconvénients de cette formule, dans ton cas particulier peuvent être les suivants :
1. il existe plusieurs horaires identiques avec des jours identiques dans la feuille de septembre,
2. aucune correspondance n'est trouvée et c'est l'effectif de la feuille actuelle qui est renvoyé (B7-0 = B7).

En espérant avoir un peu éclairé ta lanterne ;)

Amicalement
Charly
 

Monique

Nous a quitté
Repose en paix
Bonjour,

Tu veux obtenir quoi au juste ?
Parce que là, je ne comprends plus rien.
Je ne vois pas de test renvoyant faux,
je vois une différence entre 2 nombres égaux

La formule que l'on t'a donnée
cherche une ligne sur la feuille de septembre,
qui serait identique en horaire et en jour.
Il se trouve que chaque ligne de la feuille d'octobre
a sa ligne correspondante en horaire et en jour dans la feuille de septembre,
vu que la formule qui extrait horaire et jour
est la même dans les 2 feuilles et se réfère aux mêmes n° de classement
=DECALER(Un;SOMMEPROD((Table=B7)*LIGNE(Table))-LIGNE(Un);)

Une fois trouvé la ligne correspondante,
elle renvoie l'effectif en B de cette ligne
Et elle fait la différence entre les 2 effectifs qui, eux aussi, sont identiques,
parce que extraits par la même formule qui se réfère aux mêmes numéros.
Résultat = 0

Si tu tries tes n° de classement dans le sens inverse dans l'une des 2 feuilles, le résultat sera aussi 0

A vrai dire, j'ai quand même compris une chose : tu ne veux pas 0
Mais je n'ai pas compris ce que tu voulais.
 

Discussions similaires

Réponses
1
Affichages
371