Fonction RECHERCHEV et SI ne fonctionne pas

Bonjour à tous,

Le problème semble très simple mais je ne comprends pas.

J'ai 2 bases de données :

18test.zip (517.88 Ko)

- la première "ancienne" (col A)

- la "nouvelle" (col B)

Je cherche à identifier les comptes à créer/ouvrir et ceux à fermer. Je "compare" donc les 2 BDD avec :

=SIERREUR(SI(RECHERCHEV(B2;A:A;1;0);"");B2)

- Si la recherchev fonctionne, pas de modification donc VIDE

- Si la recherchev ne fonctionne pas, j'ai une erreur donc je veux que me sois retourné la valeur cherchée

Ce système fonctionne sans aucun problème avec des valeurs chiffrées mais ne fonctionne pas avec des lettres (adresses mails en l'occurence mais toute liste de lettres plus généralement). Je ne comprends pas pourquoi.

Dans l'idée, j'aimerais que la formule fonctionne pour les 2 cas d'usage, j'ai une solution si ce n'est pas possible pour les valeurs avec des lettres mais j'aimerais surtout seulement comprendre pourquoi l'exacte même formule ne fonctionne pas quand les BDD contiennent des valeurs lettres.

Je vous remercie pour votre aide,

Marion

Bonjour à tous,

=SIERREUR(SI(RECHERCHEV(B2;A:A;1;0);"");B2)

ta condition retourne un nombre différent de zero, elle est vraie.

Ta condition retourne un texte ==>on attend un nombre==> erreur

tu peux mettre comme formule

=SI(NB.SI(A:A;B2)=1;"";B2)

Crdlmt

Bonjour, Marphg et bonjour Djidji effectivement condition retrourne vrai

Vous pouvez aussi modifier pour renvoyer Vrai si condition remplie donc existe sinon renvoi le numéro à créer ou à supprimer.

Ensuite un filtre sur différent de vrai et vous obtiendrai les données voulues.

=SIERREUR(RECHERCHEV(B2;A:A;1;FAUX)=B2;B2)
4test.zip (506.90 Ko)

Bonjour à tous et merci pour vos réponses :)

Mon interrogation réside surtout dans le fait que la fonction =SIERREUR(SI(RECHERCHEV(B2;A:A;1;0);"");B2) fonctionne pour des valeurs chiffrées mais pas pour des valeurs lettres.

Djidji : Ta condition retourne un texte ==>on attend un nombre==> erreur

Qu'entends-tu par attend un nombre ? Les recherchev fonctionnent aussi pour du texte en principe ?

Xmenpl : Vous pouvez aussi modifier pour renvoyer Vrai si condition remplie donc existe sinon renvoi le numéro à créer ou à supprimer.

Ensuite un filtre sur différent de vrai et vous obtiendrai les données voulues.

J'ai testé cette formule qui fonctionne pour les valeurs texte, merci bien !! Mais j'aimerais comprendre pourquoi la formule initiale ne fonctionne pas pour des listes de noms/adresses mail

pour que ton si fonctionne, il faut que la condition retourne 1 ou 0 , ou VRAI ou FAUX

ta recherche sur un texte quand elle fonctionne, te retourne un texte, ce qui est différent du résultat attendu pour faire fonctionner ton si ==>erreur

si tu mets

SIERREUR(RECHERCHEV(B2;A:A;1;FAUX)=B2;B2)

et tu trouves B2, tu as B2=B2, ce qui est VRAI et la ton si fonctionne

Quand ce sont des nombres, il suffit que la condition soit <>0 pour que le si fonctionne.

Rechercher des sujets similaires à "fonction recherchev fonctionne pas"