Formule sous conditions sous Excel
Résolu
skaybi
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
bouket Messages postés 143 Date d'inscription Statut Membre Dernière intervention -
bouket Messages postés 143 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je me prend la tête depuis quelques jours sur une formule à priori bidon, mais qui ne fonctionne pas.
Je vous explique voici les conditions que je veux mettre sous formule.
"X" représente un nombre de jour, qui sera dans la colonne B
"Ancienneté" represente l'intervalle où su situera X, qui sera dans la colonne C
Si X<7 alors dans la colonne C, il sera noté: "1: >7 jours"
Si 7<X<15 alors dans la colonne C, il sera noté: "2: 7 jours < X < 15 jours"
Si 15<X<30 alors dans la colonne C, il sera noté: "3: 15 jours < X < 1 mois"
Si 30<X<90 alors dans la colonne C, il sera noté: "4: 1 mois < X < 3 mois"
Si 90<X<180 alors dans la colonne C, il sera noté: "5: 3 mois < X < 6 mois"
Si 180<X alors dans la colonne C, il sera noté: "6: >6 mois "
Voici 2 formules qui auraient du marcher, mais malheureusement il me met pour la premiere formule, soit un ensemble vide ou "6: >6 mois"
=IF(C2<7;"1 : < 7 jours";IF(7<C2<15;"2 : 7 jours < X < 15 jours"; IF(15<C2<30;"3 : 15 jours < X < 1mois";IF(30<C2<90;"4 : 1mois < X < 3mois";IF(90<C2<180;"5 : 3 mois < X < 6 mois";IF(180<C2;"6 : > 6 mois";""))))))
Pour la 2ème formule, il ne me met que "6: >6 mois"
=IF(C2<7;"1 : < 7 jours";IF(7<C2<15;"2 : 7 jours < X < 15 jours"; IF(15<C2<30;"3 : 15 jours < X < 1mois";IF(30<C2<90;"4 : 1mois < X < 3mois";IF(90<C2<180;"5 : 3 mois < X < 6 mois";"6 : > 6 mois";"")))))
En espérant d'avoir été clair.
Merci d'avance pour vos aides.
PS:Mon Pc est configuré en anglais c'est pour ça que j'utilise "If" au lieu de "Si".
Je me prend la tête depuis quelques jours sur une formule à priori bidon, mais qui ne fonctionne pas.
Je vous explique voici les conditions que je veux mettre sous formule.
"X" représente un nombre de jour, qui sera dans la colonne B
"Ancienneté" represente l'intervalle où su situera X, qui sera dans la colonne C
Si X<7 alors dans la colonne C, il sera noté: "1: >7 jours"
Si 7<X<15 alors dans la colonne C, il sera noté: "2: 7 jours < X < 15 jours"
Si 15<X<30 alors dans la colonne C, il sera noté: "3: 15 jours < X < 1 mois"
Si 30<X<90 alors dans la colonne C, il sera noté: "4: 1 mois < X < 3 mois"
Si 90<X<180 alors dans la colonne C, il sera noté: "5: 3 mois < X < 6 mois"
Si 180<X alors dans la colonne C, il sera noté: "6: >6 mois "
Voici 2 formules qui auraient du marcher, mais malheureusement il me met pour la premiere formule, soit un ensemble vide ou "6: >6 mois"
=IF(C2<7;"1 : < 7 jours";IF(7<C2<15;"2 : 7 jours < X < 15 jours"; IF(15<C2<30;"3 : 15 jours < X < 1mois";IF(30<C2<90;"4 : 1mois < X < 3mois";IF(90<C2<180;"5 : 3 mois < X < 6 mois";IF(180<C2;"6 : > 6 mois";""))))))
Pour la 2ème formule, il ne me met que "6: >6 mois"
=IF(C2<7;"1 : < 7 jours";IF(7<C2<15;"2 : 7 jours < X < 15 jours"; IF(15<C2<30;"3 : 15 jours < X < 1mois";IF(30<C2<90;"4 : 1mois < X < 3mois";IF(90<C2<180;"5 : 3 mois < X < 6 mois";"6 : > 6 mois";"")))))
En espérant d'avoir été clair.
Merci d'avance pour vos aides.
PS:Mon Pc est configuré en anglais c'est pour ça que j'utilise "If" au lieu de "Si".
A voir également:
- Formule sous conditions sous Excel
- Formule si et excel - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Formule somme excel colonne - Guide
- Excel mise en forme conditionnelle formule - Guide
- Liste déroulante excel - Guide
8 réponses
Première remarque tes intervalles n'englobe jamais les bornes...
Tu met if...<7 donc 7 n'est pas compris puis tu met if 7<...<15, 7 n'est toujours pas compris idem pour toutes tes bornes
Donc je te conseil de mettre par exemple if...<=7 pour inclure le 7 puis if 7<...<=15
Tu met if...<7 donc 7 n'est pas compris puis tu met if 7<...<15, 7 n'est toujours pas compris idem pour toutes tes bornes
Donc je te conseil de mettre par exemple if...<=7 pour inclure le 7 puis if 7<...<=15
Merci pour ta remarque, j'ai rectifié la formule, mais le problème persiste.
On dirait qu'il prend en compte que la derniere condition et que les autres conditions, ont été écrasé.
On dirait qu'il prend en compte que la derniere condition et que les autres conditions, ont été écrasé.
Je crois que j'ai saisi le problème...
Il me semble qu'il n'est pas possible d'imbriquer plus de 5 if l'un dans l'autre
en tout cas ma version ne l'accèpte pas
Excel 2003 Fr
Non en fait après vérif c 7 if
Il me semble qu'il n'est pas possible d'imbriquer plus de 5 if l'un dans l'autre
en tout cas ma version ne l'accèpte pas
Excel 2003 Fr
Non en fait après vérif c 7 if
Bonjour,
J 'ai une question bête. Pourquoi dans ta formule tu utilises comme comparaison C2 alors que tu regardes dans la colonne B ? Ne devrait ce pas être B2 que tu compares ?
Sinon, tu peux le faire avec une macro et c'est pas trop long ...
Je suis dessus, prêt dans 10 minutes ;)
J 'ai une question bête. Pourquoi dans ta formule tu utilises comme comparaison C2 alors que tu regardes dans la colonne B ? Ne devrait ce pas être B2 que tu compares ?
Sinon, tu peux le faire avec une macro et c'est pas trop long ...
Je suis dessus, prêt dans 10 minutes ;)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
essaye ça en traduisant les formules
=SI(C2<7;"1 : < 7 jours";SI(ET(7<C2;C2<15);"2 : 7 jours < X < 15 jours"; SI(ET(15<C2;C2<30);"3 : 15 jours < X < 1mois";SI(ET(30<C2;C2<90);"4 : 1mois < X < 3mois";SI(ET(90<C2;C2<180);"5 : 3 mois < X < 6 mois";"6 : > 6 mois")))))
=SI(C2<7;"1 : < 7 jours";SI(ET(7<C2;C2<15);"2 : 7 jours < X < 15 jours"; SI(ET(15<C2;C2<30);"3 : 15 jours < X < 1mois";SI(ET(30<C2;C2<90);"4 : 1mois < X < 3mois";SI(ET(90<C2;C2<180);"5 : 3 mois < X < 6 mois";"6 : > 6 mois")))))
Voilà :
Sub Macro1()
'
' Macro1 Macro
'
'
Dim X As Integer
Dim fin_table As Integer
fin_table = 2
Do
If fin_table > 2000 Then Exit Do
fin_table = fin_table + 1
Loop While Cells(fin_table, 2) <> ""
fin_table = fin_table - 1
For i = 2 To fin_table
Cells(i, 2).Select
X = Cells(i, 2).Value
If X < 8 Then
Cells(i, 3).Value = "1: >7 jours"
End If
If (7 < X And X < 16) Then
Cells(i, 3).Value = "2: 7 jours < X < 15 jours"
End If
If (15 < X And X < 31) Then
Cells(i, 3).Value = "3: 15 jours < X < 1 mois"
End If
If (30 < X And X < 91) Then
Cells(i, 3).Value = "4: 1 mois < X < 3 mois"
End If
If (90 < X And X < 181) Then
Cells(i, 3).Value = "5: 3 mois < X < 6 mois"
End If
If (180 < X) Then
Cells(i, 3).Value = "6: >6 mois"
End If
Next i
End Sub
Si tu as des questions, hésite pas !
Au passage : le problème est surement du au fait que tu utilisais mal le If. Je pense que la rectification dans le message précédent le mien reprend la condition 90 < X And X < 181, c'est à dire la séparation des deux conditions.
Sinon, il a conflit : ex: pour 75... 75 est plus petit que 180 ... donc il prend la dernière chose qu'il voit...
Sub Macro1()
'
' Macro1 Macro
'
'
Dim X As Integer
Dim fin_table As Integer
fin_table = 2
Do
If fin_table > 2000 Then Exit Do
fin_table = fin_table + 1
Loop While Cells(fin_table, 2) <> ""
fin_table = fin_table - 1
For i = 2 To fin_table
Cells(i, 2).Select
X = Cells(i, 2).Value
If X < 8 Then
Cells(i, 3).Value = "1: >7 jours"
End If
If (7 < X And X < 16) Then
Cells(i, 3).Value = "2: 7 jours < X < 15 jours"
End If
If (15 < X And X < 31) Then
Cells(i, 3).Value = "3: 15 jours < X < 1 mois"
End If
If (30 < X And X < 91) Then
Cells(i, 3).Value = "4: 1 mois < X < 3 mois"
End If
If (90 < X And X < 181) Then
Cells(i, 3).Value = "5: 3 mois < X < 6 mois"
End If
If (180 < X) Then
Cells(i, 3).Value = "6: >6 mois"
End If
Next i
End Sub
Si tu as des questions, hésite pas !
Au passage : le problème est surement du au fait que tu utilisais mal le If. Je pense que la rectification dans le message précédent le mien reprend la condition 90 < X And X < 181, c'est à dire la séparation des deux conditions.
Sinon, il a conflit : ex: pour 75... 75 est plus petit que 180 ... donc il prend la dernière chose qu'il voit...