Fonction IF-AND-OR Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
k
kinders59
Membre habitué
Membre habitué
Messages : 94
Appréciation reçue : 1
Inscrit le : 26 décembre 2017
Version d'Excel : 2016 FR

Message par kinders59 » 3 janvier 2018, 10:34

Bonjour tout le monde,

Tout d'abord je vous souhaite à toutes et à tous une excellente année 2018 et vous souhaite pleins de bonnes choses :)

Désolé de venir vous déranger de nouveau mais je n'arrive pas à faire une formule qui pourtant doit être simple mais je "bute" totalement ...

Voici mon problème,

Dans ma colonne A j'ai des valeurs : 201708 - 201709 - 201710 - 201711 (mais il est possible que dans le futur nous rajoutons 201707 mais ça ne dépassera pas "12" à la fin car ça correspond à des mois en vrai).

Dans ma cellule B j'aimerais donc renvoyer : Q1 Q2 Q3 Q4 en fonction de la fin de la cellule A, par exemple si on a : "201701" ou "201702" ou "201703" la valeur dans la cellule B sera Q1

Jusque-la ma formule est la suivante : =IF(OR(RIGHT(A3;2)="01";RIGHT(A3;2)="02";RIGHT(A3;2)="03");"Q1";IF(OR(RIGHT(A3;2)="04";RIGHT(A3;2)="05";RIGHT(A3;2)="06");"Q2"))

Problème quand j'essaye d'ajouter Q3 c'est finit excel me dit que j'ai trop d'arguments ... Je sèche totalement pour le coup j'ai beau essayé de me creuser la tête aucune idée de comment modifier ou adapter la formule ...

Je vous remercie d'avance et vous souhaite une agréable journée
Cordialement
Forum-formuleSI.xlsx
(12.33 Kio) Téléchargé 3 fois
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 13'912
Appréciations reçues : 827
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR
Téléchargements : Mes applications

Message par Steelson » 3 janvier 2018, 11:00

Bonjour,

en B2
="Q"&ENT(((MOD(A2/100;1)*100)-1)/3)+1
version anglaise ci-dessous
Forum-formuleSI.xlsx
(13.79 Kio) Téléchargé 1 fois
1 membre du forum aime ce message.

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
k
kinders59
Membre habitué
Membre habitué
Messages : 94
Appréciation reçue : 1
Inscrit le : 26 décembre 2017
Version d'Excel : 2016 FR

Message par kinders59 » 3 janvier 2018, 11:05

Steelson a écrit :
3 janvier 2018, 11:00
Bonjour,

en B2
="Q"&ENT(((MOD(A2/100;1)*100)-1)/3)+1
version anglaise ci-dessous
Bonjour Steelson, merci pour ta réponse serait-il possible que tu m'expliques comment tu as fais ? Car j'avoue ne pas comprendre la formule :(

Merci d'avance à toi :)
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 13'912
Appréciations reçues : 827
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR
Téléchargements : Mes applications

Message par Steelson » 3 janvier 2018, 11:09

="Q"&ENT(((MOD(A2/100;1)*100)-1)/3)+1
Q donne l'indication du quater
MOD(A2/100;1) = modulo, donne le reste de la division par 1, donc la partie décimale après avoir divisé par 100 ! j'obtiens donc le mois en centième
je multiplie ensuite par 100 et j'ai le mois
je transforme le mois en trimestre : entier((mois-1)/3)+1
1 membre du forum aime ce message.

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
k
kinders59
Membre habitué
Membre habitué
Messages : 94
Appréciation reçue : 1
Inscrit le : 26 décembre 2017
Version d'Excel : 2016 FR

Message par kinders59 » 3 janvier 2018, 11:12

Steelson a écrit :
3 janvier 2018, 11:09
="Q"&ENT(((MOD(A2/100;1)*100)-1)/3)+1
Q donne l'indication du quater
MOD(A2/100;1) = modulo, donne le reste de la division par 1, donc la partie décimale après avoir divisé par 100 ! j'obtiens donc le mois en centième
je multiplie ensuite par 100 et j'ai le mois
je transforme le mois en trimestre : entier((mois-1)/3)+1
Merci de l'explication en essayant je vois que si je met 201701, j'obtiens Q0 normalement il devrait s'agir de Q1 (comme il n'y a que 4 trimestres dans l'année) dans ce cas comment modifier la formule car ça va tout décaler de 1 ? :/

La fonction IF AND OR n'est pas la meilleure solution ? :/ Il y a un nombre limité d'arguments ?

Merci d'avance
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 13'912
Appréciations reçues : 827
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR
Téléchargements : Mes applications

Message par Steelson » 3 janvier 2018, 11:21

Désolé, correction
="Q"&ENT(((MOD(A2/100;1)*100))/3)+1
Forum-formuleSI.xlsx
(13.92 Kio) Téléchargé 3 fois
1 membre du forum aime ce message.

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
k
kinders59
Membre habitué
Membre habitué
Messages : 94
Appréciation reçue : 1
Inscrit le : 26 décembre 2017
Version d'Excel : 2016 FR

Message par kinders59 » 3 janvier 2018, 11:34

Steelson a écrit :
3 janvier 2018, 11:21
Désolé, correction
="Q"&ENT(((MOD(A2/100;1)*100))/3)+1
Merci pour toutes tes réponses et ton aide, ça me fait quand même rire de voir que pour le mois de décembre soit le 12 il sort quand même Q4, en vrai il devrait sortir Q5, vue que le nombre est entier quand on reprend tout le calcul ça donnerait : MOD(201712/100;1) = 0.12 ensuite multiplier par 100 ça donne 12 et divisé par 3 ça devrait faire 4 mais quand on regarde étape par étape en fait lorsqu'il multiplie 0.12 par 100 malgré que la valeur soit "entière" c'est à dire qu'on devrait tomber sur 12 pile et non 11.999999999999 il prend quand même l'entier inférieur soit 11, un bug qui m'aide dans le cas présent mais je trouve ça bizarre ^^ (ça doit être le même pour d'autre mois qui donne des entiers aussi), après je comprend peut être pas la fonction ENT comme il faut :lol:
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'171
Appréciations reçues : 446
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 3 janvier 2018, 12:36

Bonjour,
Salut Steelson !

Je ne comprends pas pourquoi compliquer avec la division par 100 ? Pas besoin :
="Q"&ENT((MOD(A2;100)-1)/3)+1
Cordialement.
2 membres du forum aiment ce message.
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 13'912
Appréciations reçues : 827
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR
Téléchargements : Mes applications

Message par Steelson » 3 janvier 2018, 13:44

Tu as raison, en effet !
Merci pour cette simplification
2 membres du forum aiment ce message.

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 13'912
Appréciations reçues : 827
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR
Téléchargements : Mes applications

Message par Steelson » 3 janvier 2018, 13:52

kinders59 a écrit :
3 janvier 2018, 11:34
ça me fait quand même rire de voir que pour le mois de décembre soit le 12 il sort quand même Q4, en vrai il devrait sortir Q5, vue que le nombre est entier quand on reprend tout le calcul ça donnerait : MOD(201712/100;1) = 0.12 ensuite multiplier par 100 ça donne 12 et divisé par 3 ça devrait faire 4 mais quand on regarde étape par étape en fait lorsqu'il multiplie 0.12 par 100 malgré que la valeur soit "entière" c'est à dire qu'on devrait tomber sur 12 pile et non 11.999999999999 il prend quand même l'entier inférieur soit 11, un bug qui m'aide dans le cas présent mais je trouve ça bizarre ^^ (ça doit être le même pour d'autre mois qui donne des entiers aussi), après je comprend peut être pas la fonction ENT comme il faut :lol:
Bien vu ... mais en tous cas cela fonctionne !
Applique aussi la formule simplifiée postée ci-dessus

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message