OVH Cloud OVH Cloud

Résultat d'une formule, Zero si erreur

5 réponses
Avatar
olivier
bonjour, je cherche un truc plus rapide que :

= si(esterreur(recherchev(A4;$I$K;3;faux));0;recherchev(A4;$I$K;3;faux))

en décodé ; si je ne trouve pas la valeur, je veux zéro.

merci d'avance

5 réponses

Avatar
Ardus Petus
Un (tout petit) peu plus rapide (à mon avis, on ne peut pas faire mieux):
=SI(ESTNA(EQUIV(A4;$I:$I;FAUX);0;RECHERCHEV(A4;$I:$K;3;FAUX)

Cordialement,
--
AP

"olivier" a écrit dans le message de
news:
bonjour, je cherche un truc plus rapide que :

= si(esterreur(recherchev(A4;$I$K;3;faux));0;recherchev(A4;$I$K;3;faux))

en décodé ; si je ne trouve pas la valeur, je veux zéro.

merci d'avance


Avatar
Â+
Salut,

Plus rapide ou formule plus courte ?

Plus rapide : définir la plage $I$K, comme $I$1:$K$10
Plus court : remplacer le ESTERREUR(... par NBSI(...)=0:...

Â+



bonjour, je cherche un truc plus rapide que :

= si(esterreur(recherchev(A4;$I$K;3;faux));0;recherchev(A4;$I$K;3;faux))

en décodé ; si je ne trouve pas la valeur, je veux zéro.

merci d'avance


Avatar
olivier
OK, j'ai pas été clair - désolé :

je voudrai éviter de répéter le "recherchev(...)" qui prend souvent une
place folle, et qu'on répète à l'identique : la formule marche et me
convient. c'est juste pour pas répéter.



"Ardus Petus" wrote:

Un (tout petit) peu plus rapide (à mon avis, on ne peut pas faire mieux):
=SI(ESTNA(EQUIV(A4;$I:$I;FAUX);0;RECHERCHEV(A4;$I:$K;3;FAUX)

Cordialement,
--
AP

"olivier" a écrit dans le message de
news:
bonjour, je cherche un truc plus rapide que :

= si(esterreur(recherchev(A4;$I$K;3;faux));0;recherchev(A4;$I$K;3;faux))

en décodé ; si je ne trouve pas la valeur, je veux zéro.

merci d'avance







Avatar
Jacky
Bonsoir,
AMHA ni cette formule:
= si(esterreur(recherchev(A4;$I$K;3;faux));0;recherchev(A4;$I$K;3;faux))
ni celle là
=SI(ESTNA(EQUIV(A4;$I:$I;FAUX);0;RECHERCHEV(A4;$I:$K;3;FAUX)

Ne fonctionnent.....
@+
JJ

"olivier" a écrit dans le message de
news:
OK, j'ai pas été clair - désolé :

je voudrai éviter de répéter le "recherchev(...)" qui prend souvent une
place folle, et qu'on répète à l'identique : la formule marche et me
convient. c'est juste pour pas répéter.



"Ardus Petus" wrote:

Un (tout petit) peu plus rapide (à mon avis, on ne peut pas faire mieux):
=SI(ESTNA(EQUIV(A4;$I:$I;FAUX);0;RECHERCHEV(A4;$I:$K;3;FAUX)

Cordialement,
--
AP

"olivier" a écrit dans le message de
news:
bonjour, je cherche un truc plus rapide que :

=
si(esterreur(recherchev(A4;$I$K;3;faux));0;recherchev(A4;$I$K;3;faux))

en décodé ; si je ne trouve pas la valeur, je veux zéro.

merci d'avance









Avatar
Modeste
Bonsour® olivier avec ferveur ;o))) vous nous disiez :

je voudrai éviter de répéter le "recherchev(...)" qui prend souvent une
place folle, et qu'on répète à l'identique : la formule marche et me
convient. c'est juste pour pas répéter.


dans ce cas ;o)))
notre maître, fondateur de ce forum, avait émis ici même le 19 septembre
2000 :
Si le calcul en double de RECHERCHEV est trop lent, tu peux essayer ce
mélange RECHERCHEV + fonctions VBA:
1 seul fois rechercheV au lieu de deux !!!!

'******************
'--------------------- code à inscrire dans un module VBA standard
Dim V

Function SETV(Param)
V = Param
SETV = Param
End Function

Function GETV()
GETV = V
End Function

'*******************

Et la formule :

=SI(ESTNA(SETV(RECHERCHEV(...)));"inexistant";GETV())

La fonction SETV stocke le résultat du premier RECHERCHEV dans une
variable intermédiaire, et GETV() récupère ensuite directement ce
résultat, si RECHERCHEV n'a donné aucune erreur. Si la recherche est
faite sur un tableau de taille importante, le calcul est alors plus
rapide.


--
;o)))
@+

Les news à la source !!!
news://news.microsoft.com/microsoft.public.fr.excel
et répondez OUI

n'oubliez pas les FAQ :http://www.excelabo.net
http://dj.joss.free.fr/faq.htm
http://www.faqoe.com http://faqword.free.fr