doublon avec index et equiv

S_D

XLDnaute Nouveau
Bonjour,
j'utilise une formule avec index et equiv pour compléter des cellules avec des critères. le problème c'est que si les critères sont les memes, les champs qui seront complétés correspondront au premier par ordre alphabétique dans le tableau où est fait la recherche


j'ai 4 champs dans mon onglet 1 : date, numéro, groupe, libellé (vide)
j'ai 4 champs dans mon onglet 2 : date, numéro, groupe, libellé (rempli)

j'utilise ma formule dans le 4ème champ de l'onglet 1, valide avec ctrl alt entrée, recopie vers le bas, ceux qui ont les memes date/numéro/groupe récupère le libellé correspondant, mais date, numéro et groupe peuvent etre les memes avec un libellé différent... dans ce cas le libellé apparaissant le premier par ordre alphabétique sera mit dans tout les champs libellé de l'onglet 1...

ce que je veux :
01/01/2000, 98, 6, "bois"
01/01/2000, 98, 6, "arbre"

ce que j'ai :
01/01/2000, 98, 6, "arbre"
01/01/2000, 98, 6, "arbre"

voici ma formule actuelle :

=SI(ESTERREUR(INDEX(liste2!$D$2:$D$4000;EQUIV(1;(liste2!$A$2:$A$4000=liste!A2)*(liste!$B$2:$B$4000=liste!B2)*(liste2!$C$2:$C$4000=C2);0)));liste!AG2;INDEX(liste2!$D$2:$D$4000;EQUIV(1;(liste2!$A$2:$A$4000=liste!A2)*(liste!$B$2:$B$4000=liste!B2)*(liste2!$C$2:$C$4000=C2);0)))

en espérant avoir été précis, quelqu'un aurait une idée pour contourner ça ? le problème m'a l'air assez complexe ...
vba est il nécéssaire ?

d'avance merci
 

Monique

Nous a quitté
Repose en paix
Re : doublon avec index et equiv

Bonjour,

Peut-être quelque chose comme ça :
Code:
=INDEX(Lib;EQUIV(MIN(SI(Gpe=C2;SI(No=B2;SI(Date=A2;SI(NB.SI(D$1:D1;Lib)=0;NB.SI(Lib;"<="&Lib))))));SI(Gpe=C2;SI(No=B2;SI(Date=A2;SI(NB.SI(D$1:D1;Lib)=0;NB.SI(Lib;"<="&Lib)))));0))&""

(matricielle à valider par ctrl, maj et entrée)

Les plages sont nommées, sur 10 ou 12 lignes, c’est tout.
Tout est dans la même feuille

Tu as dans le fichier des formules pour « ranger » par ordre alpha ou l’inverse, (sans critères sur 3 autres plages) et une formule qui donne un rang numérique correspondant à l’ordre alpha des ex aequo d’un même groupe.
Enfin bon, bref, le fichier est plus clair que moi.
 

Pièces jointes

  • RangAlphaSelonCriteres.xls
    33 KB · Affichages: 173

S_D

XLDnaute Nouveau
Re : doublon avec index et equiv

bonjour
tout d'abord merci pour ces réponses, ta solution Monique est très astucieuse

néanmoins avec ma config (1 go de mémoire) je ne peux pas espérer traiter plus de quelques dizaines de résultats d'un coup sinon ma machine va s'envoler...
je ne sais pas si il est possible d'optimiser une telle requete, que ce soit en utilisant vba ou en modifiant la formule

si pas de moyen tant pis, je trouverais peut être quelquechose, votre aide m'a quand meme été précieuse (ainsi qu'à peut etre d'autres visiteurs)
 

Monique

Nous a quitté
Repose en paix
Re : doublon avec index et equiv

Bonjour,

Avec 1 colonne qui donne le rang alphabétique/10 000 + Date + N°/100 + Groupe /1 000
Avant la virgule, c'est la date
Les 3 chiffres suivants sont le n° et le groupe
Le 4ème chiffre après la virgule correspond au rang alphabétique

Mais ça fait davantage de formules, peut-être plus légères ?
Sinon, une macro devrait pouvoir se faire, mais je n'y connais rien
 

Pièces jointes

  • RangAlphaSelonCriteresV1.xls
    33 KB · Affichages: 194

S_D

XLDnaute Nouveau
Re : doublon avec index et equiv

bonjour,
en ajoutant ce champ rang en plus et avec ces formules en effet, la colonne libellé se rempli bien comme souhaité (prise en compte de doublon si memes critères) et à priori bien plus rapidement (limite aucun temps de chargement sur les memes lignes que j'avais testé avec l'autre méthode).


mon problème est résolu, un grand merci à Monique.
 

Discussions similaires

Statistiques des forums

Discussions
314 626
Messages
2 111 299
Membres
111 094
dernier inscrit
MFrequence