Encore des "SI" des "ET" et des "OU"
Résolu
yomaje
-
yomaje -
yomaje -
Bonjour,
Je souhaiterais trouver la solution au problème suivant (s'il en a une évidement) :
Je possède deux classeurs nommés CL1 et CL2 .
Dans le classeur 1 (en première feuille), j'ai :
Des cellules D8;E8;....;I8 du "texte en choix déroulant"
Des cellules D9;E9;...;I9 avec une date de début pour le choix précédent
Des cellules D10;E10;....;I10 avec une date de fin pour le choix précédent
Dans le classeur 2 (en première feuille), j'ai :
En feuille 1, une ligne L1 des dates de janvier..., en feuille 12, une ligne L1 des dates de décembre.
Sous chaque ligne L1, de chaque feuille je veux afficher le résultat suivant :
Si date en A1 est comprise entre D9 et D10 alors afficher D8, ou si elle comprise entre E9 et E10, alors afficher E8.... si elle est comprise entre I9 et I10, alors afficher I8.
Y-a t-il une méthode simple et efficace sans imbriquer des "si", des "Et" et des "Ou" pour solutionner ce problème ?
Merci d'avance à toutes et à tous !
Je souhaiterais trouver la solution au problème suivant (s'il en a une évidement) :
Je possède deux classeurs nommés CL1 et CL2 .
Dans le classeur 1 (en première feuille), j'ai :
Des cellules D8;E8;....;I8 du "texte en choix déroulant"
Des cellules D9;E9;...;I9 avec une date de début pour le choix précédent
Des cellules D10;E10;....;I10 avec une date de fin pour le choix précédent
Dans le classeur 2 (en première feuille), j'ai :
En feuille 1, une ligne L1 des dates de janvier..., en feuille 12, une ligne L1 des dates de décembre.
Sous chaque ligne L1, de chaque feuille je veux afficher le résultat suivant :
Si date en A1 est comprise entre D9 et D10 alors afficher D8, ou si elle comprise entre E9 et E10, alors afficher E8.... si elle est comprise entre I9 et I10, alors afficher I8.
Y-a t-il une méthode simple et efficace sans imbriquer des "si", des "Et" et des "Ou" pour solutionner ce problème ?
Merci d'avance à toutes et à tous !
3 réponses
Bonjour,
Si tu déposes 2 classeurs exemple sur cijoint.fr et que tu colles ici les liens fournis ça motivera peut-être qcq'un...
eric
Si tu déposes 2 classeurs exemple sur cijoint.fr et que tu colles ici les liens fournis ça motivera peut-être qcq'un...
eric
Bonsoir,
en B3 :
=INDEX([CL1.xls]Feuille1!$C$8:$I$8;MAX((B2>=[CL1.xls]Feuille1!$D$9:$I$9)*(B2<=[CL1.xls]Feuille1!$D$10:$I$10)*COLONNE($A:$F))+1)
formule matricielle à valider par shift+ctrl+entrée
à tirer vers la droite.
Si la date n'est pas trouvée c'est le contenu de C8 (vide actuellement => 0, tu peux y mettre un espace) qui est ramené.
eric
en B3 :
=INDEX([CL1.xls]Feuille1!$C$8:$I$8;MAX((B2>=[CL1.xls]Feuille1!$D$9:$I$9)*(B2<=[CL1.xls]Feuille1!$D$10:$I$10)*COLONNE($A:$F))+1)
formule matricielle à valider par shift+ctrl+entrée
à tirer vers la droite.
Si la date n'est pas trouvée c'est le contenu de C8 (vide actuellement => 0, tu peux y mettre un espace) qui est ramené.
eric
Re bonjour,
Je viens de repasser sous Excel ; effectivement ça a l'air de bien marcher. En attendant de traduire une éventuelle fonction sous open office, je vais passer sous Excel mon travail originel.
Encore merci pour votre patience et votre travail.
On peut dire que vous me retirez une sacrée épine du pied (et m'épargnez encore mes derniers neurones restants)...
Merci encore.
Je viens de repasser sous Excel ; effectivement ça a l'air de bien marcher. En attendant de traduire une éventuelle fonction sous open office, je vais passer sous Excel mon travail originel.
Encore merci pour votre patience et votre travail.
On peut dire que vous me retirez une sacrée épine du pied (et m'épargnez encore mes derniers neurones restants)...
Merci encore.
Bonjour
petite info qui n'a peut être rien à voir, mais si la fonction renvoie NOM, c'est , je pense par que sous open office, les noms de feuilles doivent être identifiés par des points et non des points d'exclamation.
je ne sais pas ce que vaut la formule d'Eric sous open, mais elle doit s'écrire:
=INDEX([CL1.xls]Feuille1.$C$8:$I$8;MAX((B2>=[CL1.xls]Feuille1.$D$9:$I$9)*(B2<=[CL1.xls]Feuille1.$D$10:$I$10)*COLONNE($A:$F))+1)
et par ailleurs open semble bien accepter les matricielles.
Crdlmnt
petite info qui n'a peut être rien à voir, mais si la fonction renvoie NOM, c'est , je pense par que sous open office, les noms de feuilles doivent être identifiés par des points et non des points d'exclamation.
je ne sais pas ce que vaut la formule d'Eric sous open, mais elle doit s'écrire:
=INDEX([CL1.xls]Feuille1.$C$8:$I$8;MAX((B2>=[CL1.xls]Feuille1.$D$9:$I$9)*(B2<=[CL1.xls]Feuille1.$D$10:$I$10)*COLONNE($A:$F))+1)
et par ailleurs open semble bien accepter les matricielles.
Crdlmnt
Bonjour,
Je reviens vers vous pour le problème ci-dessus. La réponse des différentes personnes est très satisfaisante pour ce cas précis, mais qu'en est-il si je dois, dans mon classeur 1 interroger d'autres lignes que les lignes 8 à 10 ?
Par exemple si je modifie le classeur 1 comme suit :
http://www.cijoint.fr/cjlink.php?file=cj201108/cijAnSnWAT.ods
Je reviens vers vous pour le problème ci-dessus. La réponse des différentes personnes est très satisfaisante pour ce cas précis, mais qu'en est-il si je dois, dans mon classeur 1 interroger d'autres lignes que les lignes 8 à 10 ?
Par exemple si je modifie le classeur 1 comme suit :
http://www.cijoint.fr/cjlink.php?file=cj201108/cijAnSnWAT.ods
Désolé, mais j'étais en déplacement et je n'avais pas la possibilité de donner d'exemple concret. Voici donc deux "classeurs exemples" ultra simplifiés, pour éclairer les âmes charitables.
Merci d'avance.
http://www.cijoint.fr/cjlink.php?file=cj201106/cijgeFaB1E.ods
http://www.cijoint.fr/cjlink.php?file=cj201106/cijNHyu250.ods