Fonction si s'arrête à la première condition
Résolu
anthonnyy
-
via55 Messages postés 14512 Date d'inscription Statut Membre Dernière intervention -
via55 Messages postés 14512 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Fonction si s'arrête à la première condition
- Fonction si et - Guide
- Excel cellule couleur si condition texte - Guide
- Telecharger adobe premiere pro gratuit windows 10 - Télécharger - Montage & Édition
- Excel champ calculé avec condition - Forum Excel
- Facebook s'arrête systématiquement - Forum Facebook
3 réponses
Bonjour
il y a surement moyen de faire mieux en connaissant un peu mieux vos donnéesmais en attendant, n'écrivez pas:
SI(ANNEE($J$2=2013)
mais:
SI(ANNEE($J$2)=2013
etc...
Par ailleurs vous pouvez peut être faire plus court avec simplement, sans condition:
=RECHERCHEV(CNUM($C6);INDIRECT("'RPORDO "&$J$2&"'!A1:P63604");CNUM($J$4)
attention bien garder l'apostrophe devant RPORDO et devant le point d'exclamation ainsi que le blanc derrière RPORDO
de façon à ce que l'adresse soient bien reconstituée avec l'année en J2
Dans ce format "texte; les $ de A1 et P63604 sont inutiles.
crdlmnt
Errare humanum est, perseverare diabolicum
il y a surement moyen de faire mieux en connaissant un peu mieux vos donnéesmais en attendant, n'écrivez pas:
SI(ANNEE($J$2=2013)
mais:
SI(ANNEE($J$2)=2013
etc...
Par ailleurs vous pouvez peut être faire plus court avec simplement, sans condition:
=RECHERCHEV(CNUM($C6);INDIRECT("'RPORDO "&$J$2&"'!A1:P63604");CNUM($J$4)
attention bien garder l'apostrophe devant RPORDO et devant le point d'exclamation ainsi que le blanc derrière RPORDO
de façon à ce que l'adresse soient bien reconstituée avec l'année en J2
Dans ce format "texte; les $ de A1 et P63604 sont inutiles.
crdlmnt
Errare humanum est, perseverare diabolicum
Bonjour
=SI(ANNEE($J$2)=2009;"oui";"non")
problème de parenthèse, elle doit être placé après J2 et non après l'année
=SI(ANNEE($J$2)=2009;"oui";"non")
problème de parenthèse, elle doit être placé après J2 et non après l'année
ah oui effectivement je comprends mieux, en fait je n'ai indiqué aucune condition en plaçant la parenthèse au mauvais endroit.
du coup j'ai repensé la chose et j'ai rajouté une étape intermédiaire avec un recherchev pour obtenir
=RECHERCHEV(CNUM($C7);INDIRECT($J$5);CNUM($J$4);0)
j'avais essayé l'option concaténer avant d'envisager les "SI" mais la formule posait problème mais de ce que je viens de lire de vous, ça pourrait venir du format texte et $
en tous les cas ça fonctionne parfaitement et formule beaucoup plus simple.
merci à vous, je serai vigilant sur mon utilisation de SI et les parenthèses
Bonne après midi Messieurs
du coup j'ai repensé la chose et j'ai rajouté une étape intermédiaire avec un recherchev pour obtenir
=RECHERCHEV(CNUM($C7);INDIRECT($J$5);CNUM($J$4);0)
j'avais essayé l'option concaténer avant d'envisager les "SI" mais la formule posait problème mais de ce que je viens de lire de vous, ça pourrait venir du format texte et $
en tous les cas ça fonctionne parfaitement et formule beaucoup plus simple.
merci à vous, je serai vigilant sur mon utilisation de SI et les parenthèses
Bonne après midi Messieurs
Je croyais que la formule INDIRECT ne pouvait s'appliquer qu'à une cellule et pas à une plage
Après ton message j'ai essayé de l'appliquer à une plage mais j'ai le message d'erreur #VALEUR
Comment fais-tu pour l'appliquer à une plage ?
Merci et cordialement
Est ce que Via est un émanation deAnthony??
sinon:
il faut que dans les parenthèses de INDIRECT vous reconstituiez exactement l'adresse complète telle qu'elle écrite dans une formule.
Pour valider vous pouvez faire cette exemple:
placer l'élément variable de la formule en A1 (exemple A, B, C etc...
en B1 vérifier le code de reconstitution du texte pour aller par exemple dans une feuille Feuil A ou Feuil B etc... chercher un champ B1:X100
L'adresse finale doit être
='Feuil A'!B1:X100 ou 'Feuil B'!A1:B100
pour valider votre construction, tester dans B1:
="'Feuil&"&A1&"'!B1:X100")
les valeurs entre guillemets sont du texte. L'ensemble doit former un texte correspondant exactement à l'adresse à utiliser
Petites remarques:
1°) a savoir; si vous ne mettez pas de blanc dans vos noms de feuille, les apostrophes ne sont pas utiles pour Excel
2°) cette solution fonctionne pour une cellule de feuille à feuille et même de classeur à classeur..
3°) si vous pouvez conserver dans vois fichiers la solution via une cellule recevant le nom variable, ça simplifie sensiblement les formules
Selon exemple ci dessus; INDIRECT(B1) fonctionne, sinon c'est:INDIRECT("'Feuil&"&A1&"'!B1:X100")
crdlmnt
Non rien à voir avec Anthony, simplement un membre comme toi qui cherches toujours à progresser
Je connais la construction des références mais je ne pensais pas pouvoir utiliser la fonction INDIRECT pour trouver une plage dans une RECHERCHEV car je m'imaginais bêtement et à tort qu'elle s'appliquait à une cellule (ce qui est bien le cas si on utilise la fonction INDIRECT seule)
Donc encore merci de m'avoir appris quelque chose de bien utile
Cdlmt