2 votes

Google Docs VLOOKUP ISERROR fonction IF

Voici la fonction excel que j'ai saisie, mais elle ne semble pas fonctionner car elle renvoie simplement -- dans google docs.

=IF(ISERROR(VLOOKUP(F11,Formulas!$A2:$B17, 2, FALSE)),
    VLOOKUP(F11,Formulas!$A2:$B17, 2, FALSE),
    VLOOKUP(F11,Formulas!C2:D17, 2, FALSE))

Voici les informations pour lesquelles je souhaite effectuer une recherche.

               A    B    C   D

      1       NYJ   27  PHI 20
      2       BUF   13  DET 35
      3       CIN   27  IND 10
      4       MIA   24  NO  21
      5        TB   12  WAS 30
      6       CAR   25  PIT 10
      7       ATL   16  JAC 20
      8        NE   28  NYG 20
      9       MIN   24  TEN 23
      10      STL   24  BAL 21
      11      CHI   16  CLE 18
      12       KC   30  GB  8
      13      DAL   6   HOU 24
      14      DEN   24  ARI 32
      15       SD   6   SF  41
      16      SEA   22  OAK 6

Supposons qu'un utilisateur saisisse "GB" dans la cellule F11. Le but de la formule est d'insérer les points à droite de GB. La formule est censée rechercher GB dans la première colonne. Si elle est VRAIE, elle effectuera un vlookup pour la première colonne parce qu'elle a trouvé GB dans la première colonne. SI elle est FAUSSE, elle effectuera un vlookup pour la troisième colonne.

Vous n'êtes pas sûr de ce qui se passe ? Pour information, j'ai remplacé les deux dernières fonctions vlookup de la formule par "TRUE" et "FALSE" et cela a fonctionné comme prévu. S'agit-il d'un problème lié à Google Docs ?

Toute aide serait la bienvenue !

MISE À JOUR

J'ai essayé avec Excel et j'ai obtenu un #N/A.

1voto

barry houdini Points 22458

Comme vous renvoyez des nombres, une alternative pourrait être d'utiliser SUMIF , c'est-à-dire

=SUMIF(Formulas!A:C,F11,Formulas!B:D)

Si F11 n'est pas trouvé, vous obtiendrez zéro.

0voto

stenci Points 1394

Utilice IFERROR au lieu de ISERROR :

=IFERROR(VLOOKUP(F11,Formulas!$A2:$B17, 2, FALSE),VLOOKUP(F11,Formulas!C2:D17, 2, FALSE))

0voto

Jerry Points 40870

Votre formule toujours retour #N/A avec vos données actuelles. Vos données VLOOKUP sont bons, mais le problème se situe au niveau des IF . Je m'explique :

Appelons VLOOKUP(F11,Formulas!$A2:$B17, 2, FALSE) la fonction F1 et VLOOKUP(F11,Formulas!C2:D17, 2, FALSE) F2.

Votre IF est une formule :

=IF(ISERROR(F1),F1,F2)

Signification littérale : Si F1 renvoie une erreur, utilisez F1 ! Si F1 ne renvoie pas d'erreur, utilisez F2 (qui, soit dit en passant, renverrait maintenant une erreur).

Est-ce que cela a du sens ? Essayez de le retourner :

=IF(ISERROR(VLOOKUP(F11,Formulas!$A2:$B17, 2, FALSE)),
VLOOKUP(F11,Formulas!C2:D17, 2, FALSE),
VLOOKUP(F11,Formulas!$A2:$B17, 2, FALSE))

Cela devrait fonctionner maintenant. Vous pouvez également le raccourcir en utilisant un IFERROR car vous répétez deux opérations :

=IFERROR(VLOOKUP(F11,Formulas!$A2:$B17, 2, FALSE),VLOOKUP(F11,Formulas!C2:D17, 2, FALSE))

Cela signifie maintenant que si F1 donne une erreur, il faut utiliser F2, sinon il faut utiliser F1 lui-même.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X