J'essaie de configurer une formule avec plusieurs instructions IF entre des plages de nombres, mais l'erreur "Erreur d'analyse de formule".
Voici la forumula:
=IF((AND(A2>0,A2<500),"Less than 500",
If(AND(A2>=500,A2<1000),"Between 500 and 1000"),
If(AND(A2>=1000,A2<1500),"Between 1000 and 1500"),
If(AND(A2>=1500,A2<2000),"Between 1500 and 2000")))
C'est un peu compliqué à cause des FI imbriquées mais voici ma réponse (confirmée dans Google Spreadsheets):
=IF(AND(A2>=0, A2<500), "Less than 500",
IF(AND(A2>=500, A2<1000), "Between 500 and 1000",
IF(AND(A2>=1000, A2<1500), "Between 1000 and 1500",
IF(AND(A2>=1500, A2<2000), "Between 1500 and 2000", "Undefined"))))
Je suggère d'utiliser vlookup function pour obtenir la correspondance la plus proche.
Préparez la plage de données et nommez-la: 'numberRange':
Sélectionnez la plage. Allez au menu: Données → Plages nommées ... → définissez la nouvelle plage nommée.
Utilisez cette formule simple:
=VLOOKUP(A2,numberRange,2)
De cette façon, vous pouvez omettre des erreurs et corriger facilement le résultat.
solution unicellulaire autonome basée sur VLOOKUP
=IFERROR(ARRAYFORMULA(IF(LEN(A2:A),
IF(A2:A>2000, "More than 2000",VLOOKUP(A2:A,
{{(TRANSPOSE({{{0; "Less than 500"},
{500; "Between 500 and 1000"}},
{{1000; "Between 1000 and 1500"},
{1500; "Between 1500 and 2000"}}}))}}, 2)),)), )
=IFERROR(ARRAYFORMULA(IF(LEN(A2:A);
IF(A2:A>2000; "More than 2000";VLOOKUP(A2:A;
{{(TRANSPOSE({{{0; "Less than 500"}\
{500; "Between 500 and 1000"}}\
{{1000; "Between 1000 and 1500"}\
{1500; "Between 1500 and 2000"}}}))}}; 2));)); )