Explication d'une erreur sur fx imbriquées SI ESTERREUR EQUIV

Résolu
stitchbouck Messages postés 135 Date d'inscription   Statut Membre Dernière intervention   -  
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai appliqué la formule suivante sur une cellule :
=SI(ESTERREUR(EQUIV(A79;Feuil1!O114:P122;0));"absent";"présent")

je l'interprète ainsi : si tu ne trouves pas l'équivalence parfaite de la cellule A79 dans la plage de donnée de la feuille 1, renvois "absent". s'il y a bien équivalence, renvois "présent".

Elle fonctionne très bien (je ne sais plus qui me la construite, mais je l'en remercie encore^^)
mais j'ai voulu changer sa plage de donnée. celle d'origine était une colonne complète, et maintenant je veux une feuille complète...

le but de la formule est le suivant : je dois comparer un relevé d'inventaire traduit par des ECO10260 et autres codes sur la même construction (2 à 3 lettres suivant d'un nombre) au relevé informatique. le but étant de repérer les anomalies (ce que j'ai physiquement que je ne dois plus avoir, et dans ce cas là précisément : ce que je devrais avoir physiquement, mais que je n'ai plus)

sauf que sur la plage de donnée de la feuille 1 j'ai bien l'équivalence parfaite de ce que contient A79 ("ECO10260", c'est la valeur dans la cellule) et qu'il me renvoit malgré tout "absent"...

je n'ai rien fait de particulier sur la plage de donnée feuille1, mais je n'ai fait que selectionner la plage à même le curseur (j'ai pris l'angle pour selectionner la feuille, puis j'ai même essayé avec le curseur en en faisant le tour). Il y a peut être quelque chose à faire pour dire à Excel : feuille1 est la plage de recherche dans laquelle tu dois trouver l'équivalence à A79 ?

je ne comprends pas mon erreur là... vous pourriez m'aider svp ?

4 réponses

Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
Bonjour
Au hasard un peu, car ce n'est pas trop facile à comprendre
si vous avez à analyser une liste avec une formule copiée dans un champ pour trouver la référence A79, il faut bloquer celle ci avant de tirer la formule:
et écrire: $A$79
Sinon le A79 devient A80 quand vous descendez d'un cran.

Ceci dit la formule me semble un peu complexe pour simplement détecter la présence d'une valeur dans une liste, par rapport à celle ci:
=SI(NB.SI(champ;cell);"Présent";"Absent")
champ étant tout le champ à analyser et cell la cellule où se trouve la valeur à repérer.

A suivre?.

crdlmnt

Errare humanum est, perseverare diabolicum
1
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Salut,

si j'ai bien tout compris, tu peux faire plus simple

=SI(NB.SI(Feuil1!A1:J10000;A79);"présent";"absent")
tu peux ajouter un test si la cellule A79 est vide

=si(A79="";"";SI(NB.SI(Feuil1!A1:J10000;A79);"présent";"absent"))
1
stitchbouck Messages postés 135 Date d'inscription   Statut Membre Dernière intervention   2
 
Ah ben oui c'est plus simple en effet :) et surtout ça fonctionne !!! merci beaucoup :)

pour info, oui je veux en effet que lorsque je tire la formule, la cellule de référence change avec, donc pas de $ $ pour bloquer la cellule A79.
navré de ne pas arriver à mieux expliquer (ou de manière plus consise^^) mais vous avez taper juste :)

merci beaucoup !
0
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
Exact.. pour mémoire:
EQUIV ne cherche que dans une colonne et donc O114:P122 ne pouvait pas convenir
et dans en fait, c'est ce champ là qu'il fallait bloquer avec des$
bonne route
0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Re,

et pour compléter la discussion, il est possible de simplifier la formule en nommant la plage de données exemple A1:J10000 nommée List, la formule devient

=SI(NB.SI(List;A79);"présent";"absent")
0