OVH Cloud OVH Cloud

index(equiv(xxx;decaler(....

3 réponses
Avatar
Bourby
bonjour,
je suis familier de index(maPlage1;equiv("xxx";maPlage2;0);n).
Mais dans certains cas, si "xxx" est remplacé par une formule qui retourne
"xxx", je récupère un message d'erreur.
C'est le cas surtout si "xxx" est le résultat de
decaler(unePlage;etc...).
J'ai écrit dans 2 cellules différentes:
decaler(etc...) qui renvoie bien "xxx"
et index(maPlage1;equiv("xxx";maPlage2;0);n) qui renvoie bien la valeur
voulue.
Sachant que decaler() renvoie une cellule et non pas une valeur, j'ai
aussi essayé cnum(decaler(..... lorsque maPlage2 contient des nombres (ou
n() ou ctxt() pour des textes), mais sans succès.

Qui pourra m'aider ? (sous xp)

D'avance merci

3 réponses

Avatar
Joël GARBE
Bonsoir,

pour moi, la formule :

=INDEX(C1:C11;EQUIV(DECALER(B1;3;0);A1:A11;0);1)

fonctionne correctement (avec xxx en B4)

!!!

--

Bien cordialement,

Joël GARBE
www.joelgarbe.fr
"Bourby" a écrit dans le message de news:

bonjour,
je suis familier de index(maPlage1;equiv("xxx";maPlage2;0);n).
Mais dans certains cas, si "xxx" est remplacé par une formule qui retourne
"xxx", je récupère un message d'erreur.
C'est le cas surtout si "xxx" est le résultat de
decaler(unePlage;etc...).
J'ai écrit dans 2 cellules différentes:
decaler(etc...) qui renvoie bien "xxx"
et index(maPlage1;equiv("xxx";maPlage2;0);n) qui renvoie bien la valeur
voulue.
Sachant que decaler() renvoie une cellule et non pas une valeur, j'ai
aussi essayé cnum(decaler(..... lorsque maPlage2 contient des nombres (ou
n() ou ctxt() pour des textes), mais sans succès.

Qui pourra m'aider ? (sous xp)

D'avance merci




Avatar
Bourby
bonsoir,
merci d'avoir regardé le problème; mais jen suis toujours bloqué; voilà donc
un exemple concret:
en H36:
{=SI(ET(ESTVIDE(G36:I36));"";MAX(SI(ESTNUM(EQUIV(G36:I36;numéro;0));N(DECALE
R(fin;EQUIV(G36:I36;numéro;0)-1;0;1;1)));0))}
lorsque je rentre des chiffres dans au moins une des cellules G36:I36, tout
marche bien.
lorsque les 3 cellules contiennent une formule retournat les mêmes valeurs
numériques que mes chiffres, je récupère zéro en H36 !
j'ai essayé plusieurs formules du genre:
ÞCALER(numéro;10;0;1;1)
=numéro INDIRECT((LIGNE()-1) &":" &(LIGNE()-1))
J'ai aussi essayé en enlevant la fonction N, ou au contraire en ajoutant
cnum(N(...))

Que puis-je donc faire pour que cela fonctionne?
D'avance merci


"Joël GARBE" a écrit dans le message news:
41b0ab99$0$16368$
Bonsoir,

pour moi, la formule :

=INDEX(C1:C11;EQUIV(DECALER(B1;3;0);A1:A11;0);1)

fonctionne correctement (avec xxx en B4)

!!!

--

Bien cordialement,

Joël GARBE
www.joelgarbe.fr
"Bourby" a écrit dans le message de news:

bonjour,
je suis familier de index(maPlage1;equiv("xxx";maPlage2;0);n).
Mais dans certains cas, si "xxx" est remplacé par une formule qui
retourne


"xxx", je récupère un message d'erreur.
C'est le cas surtout si "xxx" est le résultat de
decaler(unePlage;etc...).
J'ai écrit dans 2 cellules différentes:
decaler(etc...) qui renvoie bien "xxx"
et index(maPlage1;equiv("xxx";maPlage2;0);n) qui renvoie bien la
valeur


voulue.
Sachant que decaler() renvoie une cellule et non pas une valeur,
j'ai


aussi essayé cnum(decaler(..... lorsque maPlage2 contient des nombres
(ou


n() ou ctxt() pour des textes), mais sans succès.

Qui pourra m'aider ? (sous xp)

D'avance merci








Avatar
Joël GARBE
Bonjour,

Généralement, je ne travaille pas avec des références circulaires.

Par ailleurs, je ne vois pas très bien l'objectif recherché par la formule
dans laquelle je perçois des anomalies.

Si on recommençait tout depuis le début en dfinissant l'objectif recherché ?

--

Bien cordialement,

Joël GARBE
www.joelgarbe.fr
"Bourby" a écrit dans le message de news:

bonsoir,
merci d'avoir regardé le problème; mais jen suis toujours bloqué; voilà
donc
un exemple concret:
en H36:
{=SI(ET(ESTVIDE(G36:I36));"";MAX(SI(ESTNUM(EQUIV(G36:I36;numéro;0));N(DECALE
R(fin;EQUIV(G36:I36;numéro;0)-1;0;1;1)));0))}
lorsque je rentre des chiffres dans au moins une des cellules G36:I36,
tout
marche bien.
lorsque les 3 cellules contiennent une formule retournat les mêmes valeurs
numériques que mes chiffres, je récupère zéro en H36 !
j'ai essayé plusieurs formules du genre:
ÞCALER(numéro;10;0;1;1)
=numéro INDIRECT((LIGNE()-1) &":" &(LIGNE()-1))
J'ai aussi essayé en enlevant la fonction N, ou au contraire en ajoutant
cnum(N(...))

Que puis-je donc faire pour que cela fonctionne?
D'avance merci


"Joël GARBE" a écrit dans le message news:
41b0ab99$0$16368$
Bonsoir,

pour moi, la formule :

=INDEX(C1:C11;EQUIV(DECALER(B1;3;0);A1:A11;0);1)

fonctionne correctement (avec xxx en B4)

!!!

--

Bien cordialement,

Joël GARBE
www.joelgarbe.fr
"Bourby" a écrit dans le message de news:

bonjour,
je suis familier de index(maPlage1;equiv("xxx";maPlage2;0);n).
Mais dans certains cas, si "xxx" est remplacé par une formule qui
retourne


"xxx", je récupère un message d'erreur.
C'est le cas surtout si "xxx" est le résultat de
decaler(unePlage;etc...).
J'ai écrit dans 2 cellules différentes:
decaler(etc...) qui renvoie bien "xxx"
et index(maPlage1;equiv("xxx";maPlage2;0);n) qui renvoie bien la
valeur


voulue.
Sachant que decaler() renvoie une cellule et non pas une valeur,
j'ai


aussi essayé cnum(decaler(..... lorsque maPlage2 contient des nombres
(ou


n() ou ctxt() pour des textes), mais sans succès.

Qui pourra m'aider ? (sous xp)

D'avance merci