recherche xième occurence

Le
Tendasque
Bonjour,
Daniel.C m'avait donné la solution pour trouver la xième occurence d'une
valeur dans une liste.
J'ai manifestement du mal à l'appliquer à mon cas:
- dans la zone Temps1 les temps de passage
- dans la zone Dossards1 les num de dossards
pour trouver le 2ème temps du dossard dont le num est en A4 j'écris:

=INDEX(Temps1;GRANDE.VALEUR((Dossards1¤)*LIGNE(Dossards1);NB.SI(Dossards1;A4)-2+1))

validée par CtrlMajEnter
Je n'obtiens pas la valeur cherchée, mais celle immédiatement en dessous
(qui n'est pas celle du dossard en A4)

Merci de votre aide
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #21038371
Bonjour.
Est-ce que tu pourrais mettre ton classeur sur www.cjoint.com en
effaçant les données confidentielles et poster ici l'adresse générée ?
Daniel

Bonjour,
Daniel.C m'avait donné la solution pour trouver la xième occurence d'une
valeur dans une liste.
J'ai manifestement du mal à l'appliquer à mon cas:
- dans la zone Temps1 les temps de passage
- dans la zone Dossards1 les num de dossards
pour trouver le 2ème temps du dossard dont le num est en A4 j'écris:

=INDEX(Temps1;GRANDE.VALEUR((Dossards1¤)*LIGNE(Dossards1);NB.SI(Dossards1;A4)-2+1))

validée par CtrlMajEnter
Je n'obtiens pas la valeur cherchée, mais celle immédiatement en dessous (qui
n'est pas celle du dossard en A4)

Merci de votre aide


Caetera
Le #21038441
"Tendasque" %239lYF%
Bonjour,
Daniel.C m'avait donné la solution pour trouver la xième occurence d'une
valeur dans une liste.
J'ai manifestement du mal à l'appliquer à mon cas:
- dans la zone Temps1 les temps de passage
- dans la zone Dossards1 les num de dossards
pour trouver le 2ème temps du dossard dont le num est en A4 j'écris:



*****************

Un exemple semble-t-il (??) adapté à ton cas

http://www.cijoint.fr/cjlink.php?file=cj201001/cij4AXIsM6.xls

Etc
Tendasque
Le #21038571
voici le lien:
http://cjoint.com/?bymaxqIHYT
Il s'agit, dans la feuille Equipes, en E5 d'avoir le 2ème temps de passage
du dossard donné en A4; ce temps est dans la feuille Course1.
puis en G5 le 3ème, puis en C6 le 4ème...

"Daniel.C"
Bonjour.
Est-ce que tu pourrais mettre ton classeur sur www.cjoint.com en effaçant
les données confidentielles et poster ici l'adresse générée ?
Daniel

Bonjour,
Daniel.C m'avait donné la solution pour trouver la xième occurence d'une
valeur dans une liste.
J'ai manifestement du mal à l'appliquer à mon cas:
- dans la zone Temps1 les temps de passage
- dans la zone Dossards1 les num de dossards
pour trouver le 2ème temps du dossard dont le num est en A4 j'écris:

=INDEX(Temps1;GRANDE.VALEUR((Dossards1¤)*LIGNE(Dossards1);NB.SI(Dossards1;A4)-2+1))

validée par CtrlMajEnter
Je n'obtiens pas la valeur cherchée, mais celle immédiatement en dessous
(qui n'est pas celle du dossard en A4)

Merci de votre aide






Tendasque
Le #21038781
Oui, cela semble convenir, je vais adapter, merci !

"Caetera"
"Tendasque" %239lYF%
Bonjour,
Daniel.C m'avait donné la solution pour trouver la xième occurence d'une
valeur dans une liste.
J'ai manifestement du mal à l'appliquer à mon cas:
- dans la zone Temps1 les temps de passage
- dans la zone Dossards1 les num de dossards
pour trouver le 2ème temps du dossard dont le num est en A4 j'écris:



*****************

Un exemple semble-t-il (??) adapté à ton cas

http://www.cijoint.fr/cjlink.php?file=cj201001/cij4AXIsM6.xls

Etc



Daniel.C
Le #21038881
http://cjoint.com/?bymVdWgNgA
Daniel

voici le lien:
http://cjoint.com/?bymaxqIHYT
Il s'agit, dans la feuille Equipes, en E5 d'avoir le 2ème temps de passage du
dossard donné en A4; ce temps est dans la feuille Course1.
puis en G5 le 3ème, puis en C6 le 4ème...

"Daniel.C"
Bonjour.
Est-ce que tu pourrais mettre ton classeur sur www.cjoint.com en effaçant
les données confidentielles et poster ici l'adresse générée ?
Daniel

Bonjour,
Daniel.C m'avait donné la solution pour trouver la xième occurence d'une
valeur dans une liste.
J'ai manifestement du mal à l'appliquer à mon cas:
- dans la zone Temps1 les temps de passage
- dans la zone Dossards1 les num de dossards
pour trouver le 2ème temps du dossard dont le num est en A4 j'écris:

=INDEX(Temps1;GRANDE.VALEUR((Dossards1¤)*LIGNE(Dossards1);NB.SI(Dossards1;A4)-2+1))

validée par CtrlMajEnter
Je n'obtiens pas la valeur cherchée, mais celle immédiatement en dessous
(qui n'est pas celle du dossard en A4)

Merci de votre aide








Tendasque
Le #21039211
Merci Daniel, c'est bon, même si j'ai du mal à comprendre la syntaxe !

"Daniel.C" %
http://cjoint.com/?bymVdWgNgA
Daniel

voici le lien:
http://cjoint.com/?bymaxqIHYT
Il s'agit, dans la feuille Equipes, en E5 d'avoir le 2ème temps de
passage du dossard donné en A4; ce temps est dans la feuille Course1.
puis en G5 le 3ème, puis en C6 le 4ème...

"Daniel.C"
Bonjour.
Est-ce que tu pourrais mettre ton classeur sur www.cjoint.com en
effaçant les données confidentielles et poster ici l'adresse générée ?
Daniel

Bonjour,
Daniel.C m'avait donné la solution pour trouver la xième occurence
d'une valeur dans une liste.
J'ai manifestement du mal à l'appliquer à mon cas:
- dans la zone Temps1 les temps de passage
- dans la zone Dossards1 les num de dossards
pour trouver le 2ème temps du dossard dont le num est en A4 j'écris:

=INDEX(Temps1;GRANDE.VALEUR((Dossards1¤)*LIGNE(Dossards1);NB.SI(Dossards1;A4)-2+1))

validée par CtrlMajEnter
Je n'obtiens pas la valeur cherchée, mais celle immédiatement en
dessous (qui n'est pas celle du dossard en A4)

Merci de votre aide












Daniel.C
Le #21039611
Il faut "décortiquer" la formule (E5) :
(Dossards1=$A$4) renvoie une série de valeurs VRAI si le dossard est
égal à A4, FAUX autrement. Tu peux le voir en surlignant
"(Dossards1=$A$4)" et en appuyant sur la touche F9.
(LIGNE(Dossards1)-1 renvoie une série séquentielle de nombres
commençant par 1.
La multiplication de ces deux matrices renvoie le numéro de ligne
précédent le numéro de dossard A4 dans la feuille "Course1", Si le
numéro de dossard est différent, le produit est égal à 0. On a donc
soit un numéro de ligne, soit 0. Le numéro de ligne le plus élevé est
le résultat le moins bon. Si on veut trouver le deuxième résultat, il
faut utiliser l'avant dernier numéro de ligne (ligne5), ce que tu peux
voir sur Course1.
On compte donc le nombre de fois où le dosssard figure :
NB.SI(Dossards1;$A$4)
auquel on ôte 1 pour obtenir 4.
On se sert de ce nombre dans la fonction GRANDE.VALEUR; la 4e ligne
correspond en effet à la seconde valeur. Il ne reste plus quà
rechercher avec INDEX la valeur correpondante dans Temps1.
Ouf. J'ai bien conscience de n'avoir pas été clair, mais ce n'est pas
non plus la plus simple (ni la plus compliquée) des formules
matricielles.
Si le sujet t'intéresse, regarde là :
http://www.excelabo.net/pasapas/matricielles
Daniel

Merci Daniel, c'est bon, même si j'ai du mal à comprendre la syntaxe !

"Daniel.C" %
http://cjoint.com/?bymVdWgNgA
Daniel

voici le lien:
http://cjoint.com/?bymaxqIHYT
Il s'agit, dans la feuille Equipes, en E5 d'avoir le 2ème temps de passage
du dossard donné en A4; ce temps est dans la feuille Course1.
puis en G5 le 3ème, puis en C6 le 4ème...

"Daniel.C"
Bonjour.
Est-ce que tu pourrais mettre ton classeur sur www.cjoint.com en effaçant
les données confidentielles et poster ici l'adresse générée ?
Daniel

Bonjour,
Daniel.C m'avait donné la solution pour trouver la xième occurence d'une
valeur dans une liste.
J'ai manifestement du mal à l'appliquer à mon cas:
- dans la zone Temps1 les temps de passage
- dans la zone Dossards1 les num de dossards
pour trouver le 2ème temps du dossard dont le num est en A4 j'écris:

=INDEX(Temps1;GRANDE.VALEUR((Dossards1¤)*LIGNE(Dossards1);NB.SI(Dossards1;A4)-2+1))

validée par CtrlMajEnter
Je n'obtiens pas la valeur cherchée, mais celle immédiatement en dessous
(qui n'est pas celle du dossard en A4)

Merci de votre aide














Tendasque
Le #21040321
Merci Daniel, du boulot en perspective pour moi, mais pour apprendre, c'est
nécessaire.

"Daniel.C"
Il faut "décortiquer" la formule (E5) :
(Dossards1=$A$4) renvoie une série de valeurs VRAI si le dossard est égal
à A4, FAUX autrement. Tu peux le voir en surlignant "(Dossards1=$A$4)" et
en appuyant sur la touche F9.
(LIGNE(Dossards1)-1 renvoie une série séquentielle de nombres commençant
par 1.
La multiplication de ces deux matrices renvoie le numéro de ligne
précédent le numéro de dossard A4 dans la feuille "Course1", Si le numéro
de dossard est différent, le produit est égal à 0. On a donc soit un
numéro de ligne, soit 0. Le numéro de ligne le plus élevé est le résultat
le moins bon. Si on veut trouver le deuxième résultat, il faut utiliser
l'avant dernier numéro de ligne (ligne5), ce que tu peux voir sur Course1.
On compte donc le nombre de fois où le dosssard figure :
NB.SI(Dossards1;$A$4)
auquel on ôte 1 pour obtenir 4.
On se sert de ce nombre dans la fonction GRANDE.VALEUR; la 4e ligne
correspond en effet à la seconde valeur. Il ne reste plus quà rechercher
avec INDEX la valeur correpondante dans Temps1.
Ouf. J'ai bien conscience de n'avoir pas été clair, mais ce n'est pas non
plus la plus simple (ni la plus compliquée) des formules matricielles.
Si le sujet t'intéresse, regarde là :
http://www.excelabo.net/pasapas/matricielles
Daniel

Merci Daniel, c'est bon, même si j'ai du mal à comprendre la syntaxe !

"Daniel.C" %
http://cjoint.com/?bymVdWgNgA
Daniel

voici le lien:
http://cjoint.com/?bymaxqIHYT
Il s'agit, dans la feuille Equipes, en E5 d'avoir le 2ème temps de
passage du dossard donné en A4; ce temps est dans la feuille Course1.
puis en G5 le 3ème, puis en C6 le 4ème...

"Daniel.C"
Bonjour.
Est-ce que tu pourrais mettre ton classeur sur www.cjoint.com en
effaçant les données confidentielles et poster ici l'adresse générée ?
Daniel

Bonjour,
Daniel.C m'avait donné la solution pour trouver la xième occurence
d'une valeur dans une liste.
J'ai manifestement du mal à l'appliquer à mon cas:
- dans la zone Temps1 les temps de passage
- dans la zone Dossards1 les num de dossards
pour trouver le 2ème temps du dossard dont le num est en A4 j'écris:

=INDEX(Temps1;GRANDE.VALEUR((Dossards1¤)*LIGNE(Dossards1);NB.SI(Dossards1;A4)-2+1))

validée par CtrlMajEnter
Je n'obtiens pas la valeur cherchée, mais celle immédiatement en
dessous (qui n'est pas celle du dossard en A4)

Merci de votre aide


















Publicité
Poster une réponse
Anonyme