Probleme avec des conditions multiples.
Résolu
Le Magicos
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
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 -
Bonjour,
Tout le monde commence par je n'ai pas trouvé de solution à mon problème, alors je m'adresse aux pros que vous êtes. Je ne vais pas donc pas faillir à la règle.
Je suis magicien et pour des raisons qui peuvent vous sembler obscures (secret oblige) je vous expose mon problème le plus clairement possible.
Dans une cellule (que je vais appeler cellule de référence), j'ai deux chiffres (qui peuvent être compris entre 00 et 99).
Je souhaites:
si ce nombre est impair qu'il soit écrit "rue" dans une cellule adjacente (ou désignée par moi).
si ce nombre est pair qu'il soit écrit "Avenue" dans une cellule adjacente (ou désignée par moi).
si ce nombre à (deux chiffres) se termine par zéro, qu'il soit écrit "Boulevard" dans une cellule adjacente (ou désignée par moi).
Exemples:
si j'ai 17 en (a1) alors je dois avoir le mot "rue" en (a2)
si j'ai 44 en (a1) alors je dois avoir le mot "avenue" en (a2)
si j'ai 40 en (a1) alors je dois avoir le mot "Boulevard" en (a2)
d'autre part, à partir du même chiffre de cette cellule de référence, je souhaite qu'en fonction de son rang, il soit inscrit dans une autre cellule la lettre qui lui correspond selon la formule classique a=1,b=2,c=3 ,etc.
Cependant, si dans la cellule de référence le chiffre est supérieur à 26 (il n'y a que 26 lettres) il faut alors ne pas tenir compte du zéro final (50 doit être considéré comme un 5, 40 comme un 4 ...etc)
dans tous les autres cas, 27,38,76 etc ne tenir compte que du chiffre des unités.
27 doit être considéré comme un 7, 38 comme un 8 ...etc
Des formules toutes faites seraient les bienvenues car je ne suis pas un expert sur le tableur excel. j'ai pourtant essayé de me débrouiller seul.
Soyez remerciés par avance.
Bien magiquement votre.
Tout le monde commence par je n'ai pas trouvé de solution à mon problème, alors je m'adresse aux pros que vous êtes. Je ne vais pas donc pas faillir à la règle.
Je suis magicien et pour des raisons qui peuvent vous sembler obscures (secret oblige) je vous expose mon problème le plus clairement possible.
Dans une cellule (que je vais appeler cellule de référence), j'ai deux chiffres (qui peuvent être compris entre 00 et 99).
Je souhaites:
si ce nombre est impair qu'il soit écrit "rue" dans une cellule adjacente (ou désignée par moi).
si ce nombre est pair qu'il soit écrit "Avenue" dans une cellule adjacente (ou désignée par moi).
si ce nombre à (deux chiffres) se termine par zéro, qu'il soit écrit "Boulevard" dans une cellule adjacente (ou désignée par moi).
Exemples:
si j'ai 17 en (a1) alors je dois avoir le mot "rue" en (a2)
si j'ai 44 en (a1) alors je dois avoir le mot "avenue" en (a2)
si j'ai 40 en (a1) alors je dois avoir le mot "Boulevard" en (a2)
d'autre part, à partir du même chiffre de cette cellule de référence, je souhaite qu'en fonction de son rang, il soit inscrit dans une autre cellule la lettre qui lui correspond selon la formule classique a=1,b=2,c=3 ,etc.
Cependant, si dans la cellule de référence le chiffre est supérieur à 26 (il n'y a que 26 lettres) il faut alors ne pas tenir compte du zéro final (50 doit être considéré comme un 5, 40 comme un 4 ...etc)
dans tous les autres cas, 27,38,76 etc ne tenir compte que du chiffre des unités.
27 doit être considéré comme un 7, 38 comme un 8 ...etc
Des formules toutes faites seraient les bienvenues car je ne suis pas un expert sur le tableur excel. j'ai pourtant essayé de me débrouiller seul.
Soyez remerciés par avance.
Bien magiquement votre.
A voir également:
- Probleme avec des conditions multiples.
- Mise en forme conditionnelle excel plusieurs conditions - Guide
- Excel champ calculé avec condition - Forum Excel
- Mise en forme conditionnelle avec 2 conditions ✓ - Forum Bureautique
- Je ne suis pas un robot confidentialité - conditions ✓ - Forum Windows 8 / 8.1
- Libreoffice calc si plusieurs conditions ✓ - Forum LibreOffice / OpenOffice
4 réponses
Bonjour
En supposant le nombre en A3 :
pour la rue :
=SI(MOD(A3;10)=0;"Boulevard";SI(MOD(A3;2)=0;"Avenue";"Rue"))
pour la lettre :
=SI(MOD(A3;10)=0;CAR(64+A3/10);SI(A3<26;CAR(64+A3);CAR(64+(A3-ENT(A3/10)*10))))
Bon spectacle
Cdlmnt
En supposant le nombre en A3 :
pour la rue :
=SI(MOD(A3;10)=0;"Boulevard";SI(MOD(A3;2)=0;"Avenue";"Rue"))
pour la lettre :
=SI(MOD(A3;10)=0;CAR(64+A3/10);SI(A3<26;CAR(64+A3);CAR(64+(A3-ENT(A3/10)*10))))
Bon spectacle
Cdlmnt
Bonjour
c'est magique:
=SI(A1="";"";SI(ET(A1<27;MOD(A1;10))=0;"Boulevard";SI(MOD(A1;2)=0;"avenue";"rue"))
cette formule, par contre va considérer les nombres en 0 comme pair à partir de 30 et va donc renvoyer "Rue"
pour ne considérer que le chiffre des dizaines, c'est un peu plus compliqué:
=SI(A1="";"";SI(OU(A1=10;A1=20);"boulevard";SI(ET(MOD(A1;10)=0;MOD(A1/10;2)>0);"Rue";SI(ET(MOD(A1;10)=0;MOD(A1/10;2)>0);"avenue";SI(MOD(A1;2)=0;"avenue";"rue")))))
cette formule ne renvoi boulevard que pour 20 et 10, ce qui semble correspondre à vos explications.
Bien placer les items dans l'ordre
crdlmnt
c'est magique:
=SI(A1="";"";SI(ET(A1<27;MOD(A1;10))=0;"Boulevard";SI(MOD(A1;2)=0;"avenue";"rue"))
cette formule, par contre va considérer les nombres en 0 comme pair à partir de 30 et va donc renvoyer "Rue"
pour ne considérer que le chiffre des dizaines, c'est un peu plus compliqué:
=SI(A1="";"";SI(OU(A1=10;A1=20);"boulevard";SI(ET(MOD(A1;10)=0;MOD(A1/10;2)>0);"Rue";SI(ET(MOD(A1;10)=0;MOD(A1/10;2)>0);"avenue";SI(MOD(A1;2)=0;"avenue";"rue")))))
cette formule ne renvoi boulevard que pour 20 et 10, ce qui semble correspondre à vos explications.
Bien placer les items dans l'ordre
crdlmnt
Bonjour et merci,
j'ai remplacé dans la formule que vous m'avez proposé: =SI(ET(MOD(A1;10) par
=SI(ET(MOD(A1;30) afin qu'elle ne s'applique qu'après les 26 premières lettres.
Sinon au lieu de J pour 10, j'obtenais A. Et au lieu de T pour 20, j'obtenais B.
La formule fonctionne donc bien avec les multiples de 30 (60 et 90) sauf curieusement pour les autres dizaines (40,50,70,80,) ou c'est le caractère "@" qui s'affiche. Pouvez vous trouver une solution à cette particularité ? Si cela vous est utile je suis sur MAC.
Avec plein de mercis.
Magicalement votre
j'ai remplacé dans la formule que vous m'avez proposé: =SI(ET(MOD(A1;10) par
=SI(ET(MOD(A1;30) afin qu'elle ne s'applique qu'après les 26 premières lettres.
Sinon au lieu de J pour 10, j'obtenais A. Et au lieu de T pour 20, j'obtenais B.
La formule fonctionne donc bien avec les multiples de 30 (60 et 90) sauf curieusement pour les autres dizaines (40,50,70,80,) ou c'est le caractère "@" qui s'affiche. Pouvez vous trouver une solution à cette particularité ? Si cela vous est utile je suis sur MAC.
Avec plein de mercis.
Magicalement votre
A Le Magicos
Effectivement je n'avais pas compris que la regle du 0 ne s'appliquait pas en dessous de 26
Normal que ça ne s'affiche pas correctement si tu modifies la formule de MOD qui donne le reste de la division (tu ne prend en compte que les divisions par 30)
Il suffit d'inverser les SI dans la formule pour que la condition à appliquer en premier soit celle quand <26:
=SI(A3<26;CAR(64+A3);SI(MOD(A3;10)=0;CAR(64+A3/10);CAR(64+(A3-ENT(A3/10)*10))))
Cdlmnt
A Vaucluse que je salue au passage
je pense que c'est à ma moi que s'adresse le demandeur, j'avais fourni une réponse une peu avant toi ( pour une fois!) et avec une formule un peu plus courte, tu as bien compliqué sur ce coup !
bien cordialement
Effectivement je n'avais pas compris que la regle du 0 ne s'appliquait pas en dessous de 26
Normal que ça ne s'affiche pas correctement si tu modifies la formule de MOD qui donne le reste de la division (tu ne prend en compte que les divisions par 30)
Il suffit d'inverser les SI dans la formule pour que la condition à appliquer en premier soit celle quand <26:
=SI(A3<26;CAR(64+A3);SI(MOD(A3;10)=0;CAR(64+A3/10);CAR(64+(A3-ENT(A3/10)*10))))
Cdlmnt
A Vaucluse que je salue au passage
je pense que c'est à ma moi que s'adresse le demandeur, j'avais fourni une réponse une peu avant toi ( pour une fois!) et avec une formule un peu plus courte, tu as bien compliqué sur ce coup !
bien cordialement
Salut Via
effectivement, mais je n'ai toujours pas compris ce que veux le demandeur. Donc je te laisse avec lui si ça fonctionne.
Je retire mon message et je me retire aussi sur la pointe des pieds.
Bien cordialement
... mais je comprend peut être un peu mieux pourquoi le demandeur trouve des @ dans ses résultats!!
effectivement, mais je n'ai toujours pas compris ce que veux le demandeur. Donc je te laisse avec lui si ça fonctionne.
Je retire mon message et je me retire aussi sur la pointe des pieds.
Bien cordialement
... mais je comprend peut être un peu mieux pourquoi le demandeur trouve des @ dans ses résultats!!
Re Vaucluse
De 1 à 26 il veut la lettre de l'alphabet correspondante
Au dessus la lettre de l'alphabet correspondant aux unités sauf pour les dizaines où il faut prendre en compte le chiffre des dizaines
par contre il n'a pas parlé de centaine, si le nombre dépasse 99 ça ne marche plus !
Bien cordialement
De 1 à 26 il veut la lettre de l'alphabet correspondante
Au dessus la lettre de l'alphabet correspondant aux unités sauf pour les dizaines où il faut prendre en compte le chiffre des dizaines
par contre il n'a pas parlé de centaine, si le nombre dépasse 99 ça ne marche plus !
Bien cordialement
Oui Via55, c'est a vous que je m'adressait car vous avez répondu en premier. j'ai du répondre au mauvais endroit (Pas l'habitude des forum moi!) C'est donc vos propositions que j'ai mise en oeuvre.
Qu'il me soit permis toutefois de remercier Vaucluse qui semble s'être donné bien du mal pour me rendre service. Il y a plein de routes qui mènent à Rome. On peut faire disparaitre une pièce de monnaie soit en l'attachant à un fil élastique, soit par l'habileté pur . L'important c'est qu'elle disparaisse :)
Je ne travaille pas dans mon problème sur les chiffres supérieur à 99.
je m'empresse vite de tester votre proposition pour les @ qui s'affichent. Je vous tient au courant, c'est le minimum que je puisse faire.
Magicalment
Qu'il me soit permis toutefois de remercier Vaucluse qui semble s'être donné bien du mal pour me rendre service. Il y a plein de routes qui mènent à Rome. On peut faire disparaitre une pièce de monnaie soit en l'attachant à un fil élastique, soit par l'habileté pur . L'important c'est qu'elle disparaisse :)
Je ne travaille pas dans mon problème sur les chiffres supérieur à 99.
je m'empresse vite de tester votre proposition pour les @ qui s'affichent. Je vous tient au courant, c'est le minimum que je puisse faire.
Magicalment
Merci encore, car tout cela fonctionne à merveille ! (tout comme je le souhaitai) .
Via 55 c'est vous le magicien sur ce coup là.
J'ose toutefois de façon optionnelle, vous demandez un dernier coup de baguette magique.
Vous semble t-il possible que les résultats issus de la formule que vous m'avez construite...
(=SI(A3<26;CAR(64+A3);SI(MOD(A3;10)=0;CAR(64+A3/10);CAR(64+(A3-ENT(A3/10)*10))))
qui génère une lettre, que cette lettre à son tour génère un mot (toujours le même pour la même lettres.)
Ainsi si j'obtiens un A grâce à votre formule, alors le mot abricot (c'est un exemple hein) s'inscrit dans une cellule adjacente. Si c'est un B, le mot banane, un C, le mot Cornichon et ainsi de suite... il n'y aura que 26 mots différents puisque 26 lettres.
Vous remarquez que chacun des mots a pour initiale la lettre générée grâce à votre formule.
Rassurez vous, si ce n'est pas possible je ferais (ce sera fastidieux toutefois ) une conversion manuelle.
Abracadabratement votre.
Via 55 c'est vous le magicien sur ce coup là.
J'ose toutefois de façon optionnelle, vous demandez un dernier coup de baguette magique.
Vous semble t-il possible que les résultats issus de la formule que vous m'avez construite...
(=SI(A3<26;CAR(64+A3);SI(MOD(A3;10)=0;CAR(64+A3/10);CAR(64+(A3-ENT(A3/10)*10))))
qui génère une lettre, que cette lettre à son tour génère un mot (toujours le même pour la même lettres.)
Ainsi si j'obtiens un A grâce à votre formule, alors le mot abricot (c'est un exemple hein) s'inscrit dans une cellule adjacente. Si c'est un B, le mot banane, un C, le mot Cornichon et ainsi de suite... il n'y aura que 26 mots différents puisque 26 lettres.
Vous remarquez que chacun des mots a pour initiale la lettre générée grâce à votre formule.
Rassurez vous, si ce n'est pas possible je ferais (ce sera fastidieux toutefois ) une conversion manuelle.
Abracadabratement votre.
Pas de problème, un coup de baguette et hop
Un court exemple valant mieux qu'un long discours :
https://www.cjoint.com/?0JAv5vw3g2A
Cordialement
Un court exemple valant mieux qu'un long discours :
https://www.cjoint.com/?0JAv5vw3g2A
Cordialement