1 votes

Excel - N/a Dans une cellule, la formule de recherche d'une plage est interrompue

J'ai une formule dans Excel qui vérifie une plage et retourne seulement les cellules qui contiennent Monday .

Toutefois, certaines cellules de la plage ont un #N/A et cela entraîne une rupture de ma formule.

Si je les supprime, le système fonctionne à nouveau parfaitement. Je ne veux pas avoir à vérifier en permanence la présence de N/A' Existe-t-il un moyen de les empêcher d'affecter ma formule ?

=IFERROR(INDEX(A$2:A$1000,SMALL(IF($D$2:$D$1000 = "Monday", ROW(A$2:A$1000)-ROW(A$2)+1),ROWS(A$2:A2))),"")

Voici ma formule au cas où il s'agirait d'un problème spécifique. J'ai remarqué que le système ne semble s'interrompre que si l'instruction If tombe sur une cellule avec l'attribut N/A .

Par exemple, s'il y en avait un dans la cellule A500 Je peux maintenir la fourchette de l'indice jusqu'à 1000 mais il faut modifier les plages à l'intérieur de l'instruction If pour qu'elles se terminent à 499.

1voto

PeterH Points 7096

Vous devez placer le contrôle d'erreur dans la partie qui utilise un tableau où vous trouverez l'erreur.

Dans votre exemple, la colonne D renvoie l'erreur, ce qui est utilisé dans la colonne SMALL de votre formule,

Ainsi, la partie tableau de SMALL en un IFERROR et plutôt que de renvoyer "", renvoyez un grand nombre, car vous ne recherchez que le PETIT, c'est-à-dire que 9999999 sera plus grand que n'importe quelle ligne de la plage A2:A1000.

J'espère que cela a du sens. Quoi qu'il en soit, voir ci-dessous pour le résultat :

{=IFERROR((INDEX(A$2:A$1000,SMALL(IFERROR(IF($D$2:$D$1000="Monday",ROW(A$2:A$1000)-ROW(A$2)+1),999999999),ROWS(A$2:A2)),1)),"")}

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X