Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

explication au sujet d'une rechercheV multiple

6 réponses
Avatar
Patrick
Bonjour,

une rechercheV (ou index/equiv) ne donne qu'un résultat et dans mon
fichier exemple ici j'ai ai plusieurs grâce à une formule un peu trop
complexe pour mon neurone; alors ce que je ne comprends pas c'est que si
je déplace ma table de résultat tout va bien, par contre si je déplace
vers le bas la table de référence, alors ça ne fonctionne plus.
Est ce que une bonne âme ici peu m'expliquer le pourquoi de la chose
afin de j'adapte cette formule à un vrai fichier.

Merci à vous


http://www.cjoint.com/c/EIbkvhu82AH

---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus

6 réponses

Avatar
MichD
Bonjour,

Si tu veux baisser ton tableau dans la feuille de 4 lignes, utilise cette formule : (plage occupée :
J5:K12)
Validation Matricielle Maj + Ctrl + Enter
=SIERREUR(INDEX($K$5:$K$12;PETITE.VALEUR(SI($J$5:$J$12³;LIGNE($J$5:$J$12)-4;"");LIGNE($J$5:$J$12)-4));"")

Tu remarques que dans la formule j'ai ajouté à 2 endroits l'expression -4 à la suite de la section :
LIGNE($J$5:$J$12)-4

Pour imager la situation :
- sélectionner 8 cellules dans une colonne de ton choix
- Appuie sur la touche F2, la première cellule dans ladite colonne est en mode édition
-Copie cette formule =LIGNE($J$5:$J$12)-4
Et tu obtiens : 1, 2, 3 ,4 ....8

La fonction "Petite.Valeur()" identifie par ordre croissant des lignes, le numéro de la ligne
où se retrouve la valeur "zz01" dans le tableau J5:J12

La fonction index() retrouve la valeur associée à la position dans la plage K5:K12

Observe ce qui se passe si tu modifies l'emplacement du tableau J5:12 vers le haut ou
le bas. Le contenu des cellules de la colonne où tu as inséré =LIGNE($J$5:$J$12)-4
change. Le numéro de ligne que tu obtiens n'est plus de 1 à 8 qui représente la valeur
de tes 8 valeurs zz.. dans la colonne J5:J1. Par conséquent, la fonction index ne retrouve
pas les données que tu désires...

J'espère que c'est plus clair!











"Patrick" a écrit dans le message de groupe de discussion : ms3ugq$20g$

Bonjour,

une rechercheV (ou index/equiv) ne donne qu'un résultat et dans mon
fichier exemple ici j'ai ai plusieurs grâce à une formule un peu trop
complexe pour mon neurone; alors ce que je ne comprends pas c'est que si
je déplace ma table de résultat tout va bien, par contre si je déplace
vers le bas la table de référence, alors ça ne fonctionne plus.
Est ce que une bonne âme ici peu m'expliquer le pourquoi de la chose
afin de j'adapte cette formule à un vrai fichier.

Merci à vous


http://www.cjoint.com/c/EIbkvhu82AH

---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
Avatar
Patrick
Si je te suis bien, et pour faire simple,la formule matricielle à la fin
doit donner "1" si mentalement dans LIGNE($J$5:$J$12)
je soustrais 4 à $5 ($5) étant la 1ere ligne de la table

ou
si je soustrais 1 à $2
si je soustrais 5 à $6, etc etc...

tu confirmes ?


Merci !!!

Je pense que je garderai bien l'exemple et ton texte pour réutiliser ça
bien vite :)


Le 1/09/2015 13:50, MichD a écrit :
Bonjour,

Si tu veux baisser ton tableau dans la feuille de 4 lignes, utilise
cette formule : (plage occupée : J5:K12)
Validation Matricielle Maj + Ctrl + Enter
=SIERREUR(INDEX($K$5:$K$12;PETITE.VALEUR(SI($J$5:$J$12³;LIGNE($J$5:$J$12)-4;"");LIGNE($J$5:$J$12)-4));"")


Tu remarques que dans la formule j'ai ajouté à 2 endroits l'expression
-4 à la suite de la section : LIGNE($J$5:$J$12)-4

Pour imager la situation :
- sélectionner 8 cellules dans une colonne de ton choix
- Appuie sur la touche F2, la première cellule dans ladite colonne est
en mode édition
-Copie cette formule =LIGNE($J$5:$J$12)-4
Et tu obtiens : 1, 2, 3 ,4 ....8

La fonction "Petite.Valeur()" identifie par ordre croissant des lignes,
le numéro de la ligne
où se retrouve la valeur "zz01" dans le tableau J5:J12

La fonction index() retrouve la valeur associée à la position dans la
plage K5:K12

Observe ce qui se passe si tu modifies l'emplacement du tableau J5:12
vers le haut ou
le bas. Le contenu des cellules de la colonne où tu as inséré
=LIGNE($J$5:$J$12)-4
change. Le numéro de ligne que tu obtiens n'est plus de 1 à 8 qui
représente la valeur
de tes 8 valeurs zz.. dans la colonne J5:J1. Par conséquent, la fonction
index ne retrouve
pas les données que tu désires...

J'espère que c'est plus clair!











"Patrick" a écrit dans le message de groupe de discussion :
ms3ugq$20g$

Bonjour,

une rechercheV (ou index/equiv) ne donne qu'un résultat et dans mon
fichier exemple ici j'ai ai plusieurs grâce à une formule un peu trop
complexe pour mon neurone; alors ce que je ne comprends pas c'est que si
je déplace ma table de résultat tout va bien, par contre si je déplace
vers le bas la table de référence, alors ça ne fonctionne plus.
Est ce que une bonne âme ici peu m'expliquer le pourquoi de la chose
afin de j'adapte cette formule à un vrai fichier.

Merci à vous


http://www.cjoint.com/c/EIbkvhu82AH

---
L'absence de virus dans ce courrier électronique a été vérifiée par le
logiciel antivirus Avast.
https://www.avast.com/antivirus




---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
Avatar
MichD
Cette section LIGNE($J$5:$J$12) dans la formule matricielle représente chacune
des lignes du tableau où sont les données. Quand tu déplaces vers le bas ton tableau
ou vers le haut selon de cas, si tu ne fais pas l'adaptation mentionnée, la formule
renvoie des numéros de lignes inexactes par rapport à la location des données.

Je crois que tu as compris le principe... en supposant que j'ai bien suivi ce que tu expliques!
Avatar
Patrick
Si on s'est suivis, on se comprends :)


Le 1/09/2015 15:06, MichD a écrit :
Cette section LIGNE($J$5:$J$12) dans la formule matricielle représente
chacune
des lignes du tableau où sont les données. Quand tu déplaces vers le bas
ton tableau
ou vers le haut selon de cas, si tu ne fais pas l'adaptation mentionnée,
la formule
renvoie des numéros de lignes inexactes par rapport à la location des
données.

Je crois que tu as compris le principe... en supposant que j'ai bien
suivi ce que tu expliques!





---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
Avatar
DanielCo
Bonjour,
En C7, matricielle à recopier vers le bas :
=SIERREUR(INDEX($K$1:$K$8;PETITE.VALEUR(SI($J$1:$J$8=$B$7;LIGNE($J$1:$J$8)-LIGNE($J$1)+1;"");LIGNE(A1)));"")
Explication de la modification ici:
http://www.cjoint.com/c/EIbmeHp0RAv
Cordialement.
Daniel
Le 01/09/2015, Patrick a supposé :
Bonjour,

une rechercheV (ou index/equiv) ne donne qu'un résultat et dans mon fichier
exemple ici j'ai ai plusieurs grâce à une formule un peu trop complexe pour
mon neurone; alors ce que je ne comprends pas c'est que si je déplace ma
table de résultat tout va bien, par contre si je déplace vers le bas la table
de référence, alors ça ne fonctionne plus.
Est ce que une bonne âme ici peu m'expliquer le pourquoi de la chose afin de
j'adapte cette formule à un vrai fichier.

Merci à vous


http://www.cjoint.com/c/EIbkvhu82AH

---
L'absence de virus dans ce courrier électronique a été vérifiée par le
logiciel antivirus Avast.
https://www.avast.com/antivirus
Avatar
Patrick
Merci aussi :)

P.


Le 2/09/2015 09:31, DanielCo a écrit :
Bonjour,
En C7, matricielle à recopier vers le bas :
=SIERREUR(INDEX($K$1:$K$8;PETITE.VALEUR(SI($J$1:$J$8=$B$7;LIGNE($J$1:$J$8)-LIGNE($J$1)+1;"");LIGNE(A1)));"")

Explication de la modification ici:
http://www.cjoint.com/c/EIbmeHp0RAv
Cordialement.
Daniel
Le 01/09/2015, Patrick a supposé :
Bonjour,

une rechercheV (ou index/equiv) ne donne qu'un résultat et dans mon
fichier exemple ici j'ai ai plusieurs grâce à une formule un peu trop
complexe pour mon neurone; alors ce que je ne comprends pas c'est que
si je déplace ma table de résultat tout va bien, par contre si je
déplace vers le bas la table de référence, alors ça ne fonctionne plus.
Est ce que une bonne âme ici peu m'expliquer le pourquoi de la chose
afin de j'adapte cette formule à un vrai fichier.

Merci à vous


http://www.cjoint.com/c/EIbkvhu82AH

---
L'absence de virus dans ce courrier électronique a été vérifiée par le
logiciel antivirus Avast.
https://www.avast.com/antivirus






---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus