Par exemple,
Supposons que la valeur d'une cellule soit:
IF(ISNA(VLOOKUP(A3,somesheet!G:J,3,FALSE) * VLOOKUP(A3,someothersheet!A:D,4,FALSE)), 0, VLOOKUP(A3,somesheet!G:J,3,FALSE) * VLOOKUP(A3,someothersheet!A:D,4,FALSE))
Ici, je veux le produit des deux RECHERCHEV. Mais certaines lignes peuvent ne pas être là, donc cela pourrait retourner NA. S'il renvoie NA, mettez simplement zéro dans cette cellule, mais sinon je veux le produit.
Il semble stupide que vous deviez avoir cette expression entière deux fois. Y a-t-il un raccourci où je peux dire "faites ce calcul, et s'il renvoie une valeur, utilisez-le, mais sinon utilisez une valeur par défaut?
Réponses:
Si vous avez Excel 2007 ou des versions ultérieures, vous pouvez utiliser la fonction IFERROR pour éviter la répétition
=IFERROR(VLOOKUP(A3,somesheet!G:J,3,FALSE)*VLOOKUP(A3,someothersheet!A:D,4,FALSE),0)
ou vous pouvez utiliser une solution de contournement comme celle-ci dans les versions antérieures
=LOOKUP(9.9E+307,IF({1,0},0,VLOOKUP(A3,somesheet!G:J,3,FALSE)*VLOOKUP(A3,someothersheet!A:D,4,FALSE)))
la source
Cela peut être plus logique pour vous si vous avez vérifié la première valeur de recherche pour NA, puis vérifié la seconde, et si elles sont toutes les deux valides, multipliez-les.
Cela ajoute plus de complexité, mais ne peut pas offenser les sensibilités délicates du programmeur. ;-)
la source