RECHERCHEV

JORDAN

XLDnaute Impliqué
Bonjour le Forum,

Voici mon problème :

Avec les 3 formules ci-dessous, je recherche 3 valeurs sur la même ligne, pas de problème, ça marche, le seul hic c'est que lorsqu'il n'y a pas de valeur à renvoyer, excel met '0'.
Est-il possible de rien avoir ?

=RECHERCHEV($G$16;NOM!$A$2:$F$100;2)
=RECHERCHEV($G$16;NOM!$A$2:$F$100;3)
=RECHERCHEV($G$16;NOM!$A$2:$F$100;4)

Par avance merci
 

Brigitte

XLDnaute Barbatruc
Bonsoir,


Bien sûr que c'est possible, il suffit de rajouter ceci :



=si(estna(RECHERCHEV($G$16;NOM!$A$2:$F$100;2;faux));'';RECHERCHEV($G$16;NOM!$A$2:$F$100;2;faux))

Bonne soirée.


EDITION :


Oui Ândré,mais avec la formule avec ESTNA ou ESTERREUR, on évite tout problème, on peut mettre ce qu'on veut comme résultat.

Message édité par: Brigitte, à: 24/11/2005 17:39
 

andré

XLDnaute Barbatruc
Salut,

Il manque le dernier argument dans tes formules :

=RECHERCHEV($G$16;NOM!$A$2:$F$100;2;0)
=RECHERCHEV($G$16;NOM!$A$2:$F$100;3;0)
=RECHERCHEV($G$16;NOM!$A$2:$F$100;4;0)

Â+

EDITION

Oups Brigitte, je ne t'avais pas vu !
Je te fais quand même gentilement remarquer que le problème est que la formule renvoir 0 et non pas #NA!

Message édité par: andré, à: 24/11/2005 17:37
 

nicya18

XLDnaute Nouveau
Bonjour,

je vois 2 solutions :

- tu vas dans le menu Outils/Options onglet Affichage et tu decoches 'Valeurs zéro'

- tu mets une fonction si dans ta formule :

=si(RECHERCHEV($G$16;NOM!$A$2:$F$100;2)='';'';RECHERCHEV($G$16;NOM!$A$2:$F$100;2))



Bon courage

Nicya
 

Brigitte

XLDnaute Barbatruc
Bonsoir à tous, Ândré,


Pardon pour la bosse... Une petite Duvel pour te consoler ? ou un bisou ?

Je crois qu'avec ta formule, lorsque l'argument recherché ne sera pas dans la base de données, Jordan aura toujours le vilain #N/A qu'il ne souhaite pas justement.

Grâce à ESTNA ou ESTERREUR mis devant un premier RechercheV, le problème est résolu en n'oubliant pas de mettre Faux comme dernier argument derrière le numéro d'index de la colonne résultat.

Bonne soirée.

Message édité par: Brigitte, à: 24/11/2005 17:37
 

andré

XLDnaute Barbatruc
Resalut Brigitte,

Franchement dis, je préfère un bisou, cela enivre tout autant mais ce n'est pas mauvais pour le foie (lol).

Relis bien la question : tu en fais plus que demandé !

Tant qu'à faire, il y a aussi, un peu plus court :

=SI(NB.SI(NOM!$A$2:$A$100;$G$16)=0;'';RECHERCHEV($G$16;NOM!$A$2:$F$100;2;0))

Et pourquoi pas remplacer les arguments 2, 3 et 4 par colonne()-x ou ligne()-x
x étant à définir suivant la colonne ou la ligne dans laquelle la formule est placée.
Ceci permet d'incrémenter cette formule sans devoir modifier cet argument dans chaque colonne ou ligne.

Â+
 

Brigitte

XLDnaute Barbatruc
Coucou,


Va pour le bisou...

Alors là l'histoire des colonnes, je suis bien d'accord avec toi et maintenant chaque fois que j'explique la recherchev à qqun ou qqune, je fais rajouter dans la base une ligne avec colonne() et j'y fais référence dans la formule de recherchev au lieu de fixer le numéro d'index de la colonne.

C'est bien plus pratique et moins dangereux si on rajoute ensuite des colonnes, ce qui fausse tout si on y pense pas.

Bonne soirée...
 

Monique

Nous a quitté
Repose en paix
Bonjour,

Tu as celle-ci, aussi, en sélectionnant les 3 cellules à la fois et en validant par ctrl, maj et entrée

Si les résultats sont en ligne :
=INDEX(NOM!$A$2:$F$100;EQUIV($G$16;NOM!$A$2:$A$100;0);{2.3.4})

Si les résultats sont en colonne :
=INDEX(NOM!$A$2:$F$100;EQUIV($G$16;NOM!$A$2:$A$100;0);{2;3;4})

Format des cellules qui reçoivent le résultat : [=0]'';Standard
pour ne pas voir les 0
 

Discussions similaires

Statistiques des forums

Discussions
300 793
Messages
1 987 228
Membres
209 742
dernier inscrit
Ben33100