web-dev-qa-db-fra.com

Google Spreadsheet - plusieurs instructions IF entre des tranches de numéros

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")))
14
Kristin

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"))))
30
eniacAvenger

Je suggère d'utiliser vlookup function pour obtenir la correspondance la plus proche.


Étape 1

Préparez la plage de données et nommez-la: 'numberRange':

 enter image description here

Sélectionnez la plage. Allez au menu: Données → Plages nommées ... → définissez la nouvelle plage nommée.

Étape 2

Utilisez cette formule simple:

=VLOOKUP(A2,numberRange,2)

 enter image description here


De cette façon, vous pouvez omettre des erreurs et corriger facilement le résultat.

8
Max Makhrov

solution unicellulaire autonome basée sur VLOOKUP

Syntaxe US:

=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)),)), )

Syntaxe UE:

=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));)); )

alternatives: https://webapps.stackexchange.com/questions/123729/

0
player0