Retrouver le Xième élément d'un vecteur dans un autre tableau de valeurs

Garek

XLDnaute Nouveau
Bonjour à tous,

Je viens de découvrir l’existence de cet excellent forum après avoir lutté en vain pendant quelques heures pour trouver la solution à mon problème. Bien que je sois nouvellement inscrit, je me permets quand même de solliciter votre aide. Je ne doute pas que les virtuoses d’Excel qui apportent généreusement leur aide sur ce forum indispensable sauront me guider vers la bonne solution.

Contexte :

J’utilise Excel 2003 SP3 sous Windows XP (version canadienne-française). J’ai construit trois tableaux. Le premier tableau, « Etablissements », est un vecteur vertical composé de 980 nombres de 8 chiffres qui réfèrent à des codes uniques rattachés à certains hôpitaux du Québec. Bien que certains de ces codes ne soient plus utilisés aujourd’hui, j’en ai tout de même besoin pour mon travail comme chercheur en santé publique.

Le second tableau, que j’ai nommé « Données », comprend 190 lignes et 25 colonnes. Ce tableau contient tous les codes qu’un établissement de santé québécois peut avoir reçus depuis l’année fiscale 1981-1982 jusqu’en 2005-2006. Les données d’un établissement en particulier tiennent toujours sur une seule ligne. Il va sans dire qu’un code peut se répéter sur plusieurs années, voire même pendant toutes les années à l’étude si un hôpital a toujours conservé le même code ou n’a pas été fusionné avec un autre établissement de santé.

Le troisième tableau, appelé « Régions », désigne numériquement l’une des 18 régions administratives du Québec où se situe l’établissement et comprend le même nombre de lignes que le tableau « Données ».

Résultat désiré :

J’aimerais donc qu’Excel trouve, dans le tableau « Données », la ligne et la colonne où se situe la première occurrence du Xième élément du vecteur « Etablissements ». Par la suite, Excel devrait se servir du numéro de ligne pour retourner, dans un nouveau vecteur « Région_2 » (dont le nombre d’éléments correspond à celui du vecteur « Etablissements »), le chiffre désignant la région administrative de l’établissement.

Par exemple, le cinquième élément du vecteur « Etablissements », c’est-à-dire le code 11043064, n’apparaît pas du tout dans le tableau « Données ». Par contre, la première occurrence du onzième élément du vecteur, soit le code 11097029, survient dans la deuxième ligne et la cinquième colonne du tableau « Données ». Comme cette valeur se situe sur la deuxième ligne, j’aimerais qu’Excel renvoie la valeur équivalente du vecteur « Régions », soit le chiffre13, dans la cellule correspondant au onzième élément du vecteur « Région_2 »

Compte tenu que les codes inscrits dans le tableau « Données » sont liés aux années financières, ils ne peuvent, bien sûr, être classés en ordre croissant, ce qui interdit, si je ne m’abuse, l’utilisation de la fonction RECHERCHE.
Problème :

J’ai bien essayé de travailler avec les fonctions EQUIV (valeur argument type = 0); RECHERCHEV (Valeur_proche = FAUX); INDEX, etc., mais sans succès.

J’ai joint un classeur dans lequel j’ai réduit, de 980 à 196, le nombre d’éléments du vecteur « Etablissements ». Le classeur renferme déjà les noms des plages. Ce classeur devrait permettre de mieux comprendre la nature de mon problème, que j’ai plutôt laborieusement posé, j’en conviens et je m’en excuse.


Un grand merci à l’avance de votre grande générosité à mon égard.
 

Pièces jointes

  • Test.zip
    10.7 KB · Affichages: 38
  • Test.zip
    10.7 KB · Affichages: 41
  • Test.zip
    10.7 KB · Affichages: 37

fred65200

XLDnaute Impliqué
Re : Retrouver le Xième élément d'un vecteur dans un autre tableau de valeurs

bonsoir le fil

à tester, sans formule matricielle.



en A5 =SI(NB.SI(Données;$C5)=0;"-";SOMMEPROD((Données=$C5)*Régions)/NB.SI(Données;$C5))

et incrémenter jusqu'en bas.

cordialement
 

Garek

XLDnaute Nouveau
Re : Retrouver le Xième élément d'un vecteur dans un autre tableau de valeurs

Bonsoir,

Un grand merci à Fred65200 et à Banzai64 pour votre aide. Deux solutions complètement différentes, mais fort ingénieuses qui donnent tout à fait le résultat souhaité.

Cordialement,

Yves
 

Discussions similaires

Réponses
2
Affichages
554

Statistiques des forums

Discussions
311 725
Messages
2 081 942
Membres
101 849
dernier inscrit
florentMIG