Problème Index + equiv

Bonjour,

Je rencontre un problème avec la formule index + equiv

cette dernière me renvois automatiquement la première valeur si ma colonne de référence comporte plusieurs fois la même valeur.

Quelqu'un pourrait m'aider SVP ?

image

Bonjour,

C'est le comportement normal de la fonction ...

Que souhaiterais-tu qu'elle fasse à la place dans ce contexte ?

Bonjour,

Ben, pour la valeur en colonne L 940, il aimerait sortir les 3 valeurs de la conne A qui sont différentes, mais là sa formule sort le même resultat

En formule il faut faire un INDEX avec PETITE.VALEUR et le tout en matriciel.

@ bientôt

LouReeD

Ce fichier me sert à optimiser la découpe de barres.

il se peux que plusieurs références soit de même longueur et la formule actuelle me renvoi la première valeur trouvé.

Je souhaiterai que , si la valeur trouver en colonne A est déjà indiqué en colonne H sur les ligne précédente (autant de fois que le nombre en colonne E) cela renvois la valeur correspondante suivante.

Et ainsi de suite.

Merci pour votre aide

Bonsoir,

un essai, formule à mettre en H3 : =SIERREUR(INDEX(A$3:A$9;PETITE.VALEUR(SI(D$3:D$9=L3;LIGNE(D$3:D$9));NB.SI(L$3:L3;L3))-1);"")
Formule avec la validation "matricielle" par Shift+Ctrl+Entrée.

@ bientôt

LouReeD

Cela ne fonctionne pas

Hello,
Il est possible de partager un fichier avec des exemples ?
Ce sera plus facile pour nous

Bonjour

Chez moi ça marche... Après faut peut être adapter les plages...

@ bientôt

LouReeD

Je vous joint un fichier pour mieux comprendre

11unp-140.xlsm (94.83 Ko)

Cela ne fonctionne pas

normal

=SIERREUR(INDEX(A$3:A$9;PETITE.VALEUR(SI(D$3:D$9=L3;LIGNE(D$3:D$9));NB.SI(L$3:L3;L3))-1);"")

c'est Ligne(d$3:d$9) -2;"") parce que la matrice d'index commence à la ligne n°3 (D3) donc pour recupérer éventuellement la position 1 => on ote 2

ensuite ,il faut valider avec les 3 doigts (ctrl maj Entrée)

cordialement

Bien vu tulipe_4 !

ma formule chez moi fonctionnait sur MON fichier fait pour la circonstance et mes données commençaient en ligne 2 car point de fioriture sur mon fichier : une ligne d'entête et les données...
Une fois le code posté, j'ai vu que sur l'image, les données commençaient en ligne 3, j'ai donc corrigé "à la volée" et j'ai oubliais de modifier le -1 en -2 !

Heureusement qu'au 9ième message on a un fichier support !

@ bientôt

LouReeD

Bien vu tulipe_4 !

ma formule chez moi fonctionnait sur MON fichier fait pour la circonstance et mes données commençaient en ligne 2 car point de fioriture sur mon fichier : une ligne d'entête et les données...
Une fois le code posté, j'ai vu que sur l'image, les données commençaient en ligne 3, j'ai donc corrigé "à la volée" et j'ai oubliais de modifier le -1 en -2 !

Heureusement qu'au 9ième message on a un fichier support !

@ bientôt

LouReeD

bien entendu ,il faut songer à taffiquer le NB.si - 1

neanmoins , il existe une soluce sans validation tridactyle sur la base de SOMMEPROD ,bien sur , il faut echaper les 0 induits pour la PETITE VALEUR

sans fichier , c'est pas facile à expliciter

taffiquer ? Quesaco ?

Pour le fichier, n'est il pas exploitable au 9ième message ?
Je vais de ce pas vérifier...

@ bientôt

LouReeD

Bon et bien ma formule avec un -2 au lieu du -1 fonctionne bien :

14unp-140-lrd.xlsm (94.64 Ko)

@ bientôt

LouReeD

Bon et bien ma formule avec un -2 au lieu du -1 fonctionne bien :

14unp-140-lrd.xlsm (94.64 Ko)

@ bientôt

LouReeD

coucou

sans validation tridactyle

=SIERREUR(INDEX(A$3:A$9;SOMMEPROD(PETITE.VALEUR((D$3:D$9=L3)*LIGNE(D$3:D$9);NB.SI(D$3:D$9;"<>"&L3)+NB.SI(L$3:L3;L3)))-2);"")

Bonjour,

Cela fait il une différence de "ressource" le fait de faire triditruc ou un SOMMEPROD matriciel nativement ?

@ bientôt

LouReeD

Bonjour,

Cela fait il une différence de "ressource" le fait de faire triditruc ou un SOMMEPROD matriciel nativement ?

@ bientôt

LouReeD

non ;mais ça peut aider un néophyte,car souvant cela bute là-dessus

Rechercher des sujets similaires à "probleme index equiv"