formule compliqué ou limite impossible ???? besoin aide svp

meganspt

XLDnaute Nouveau
Bonjour

Voila j'essaye désespérément avec le bagage que j'ai de créer une formule mais en vain.

JE vous explique les grandes trait de mon objectif c'est de rechercher dans une cellule les correspondances afin que j'impute un id à la cellule.

Donc j'ai des noms de modèles dans une base que je dois lié à une base modèle qui comporte des id.Le hic c'est que la saisi des noms de modèle n'est pas la même et pour compliquer la chose il faut que le modèle corresponde à l'année.

Comme dit l'adage "une image vaut mieux que de longs discours" voici un fichier avec un exemple de ce que je veux

Bien à vous
 

Pièces jointes

  • test.xlsx
    236.5 KB · Affichages: 35
  • test.xlsx
    236.5 KB · Affichages: 39

vgendron

XLDnaute Barbatruc
Re : formule compliqué ou limite impossible ???? besoin aide svp

Bonjour

on va avoir besoin de quelques précisions
'est de rechercher dans une cellule les correspondances afin que j'impute un id à la cellule.
quelle cellule? correspondance entre quoi et quoi (et ou?)

Donc j'ai des noms de modèles dans une base
laquelle? BaseVO ?
que je dois lié à une base modèle qui comporte des id
laquelle? Modèle?
 

meganspt

XLDnaute Nouveau
Re : formule compliqué ou limite impossible ???? besoin aide svp

Merci de ton aide
Donc la feuille BaseVo, dans la colonne " Modèle" ,je cherche les noms des modèles dans la feuille " Modèle" dans la colonne "Modèle" et ensuite je compare les années dans les 2 feuilles.
Par exemple, je cherche dans la baseVO le modèle 147 fabriqué entre le 04/2001 et 10/2003 dans la feuille" modèle" pour connaitre son Id.
En cherchant , je tombe sur l'Id 2199 qui correspond dans la base modèle , à la cellule "147 (10/2000 - 09/2004)" donc modéle 147 ( date de production)

Donc il me faut une formule qui cherche les noms de modéle et qui prends en compte l'année pour identifier le bon Id

J’espère avoir été clair

Merci
 

vgendron

XLDnaute Barbatruc
Re : formule compliqué ou limite impossible ???? besoin aide svp

Hello

Désolé d'avoir pris du temps.. mais j'ai toujours du mal avec les fonctions matricielles..... ;-)
dans la PJ tu vas voir en H, la formule qui te donne le résultat attendu
j'ai laissé les colonnes J et K pour "éclater" la formule

1) Commencer par donner des noms aux différentes colonnes de ta base "Modèle": ca donne plus de clarté dans les formules
--> aller dans Formules - Gestionnaire de Noms

2) écrire une formule matricielle: à valider par Ctr+Maj+Entrée
3) tirer la formule vers le bas
 

Pièces jointes

  • test Rev2.xlsx
    246.8 KB · Affichages: 27

vgendron

XLDnaute Barbatruc
Re : formule compliqué ou limite impossible ???? besoin aide svp

Avec quelques explications
Code:
(ESTNUM(TROUVE(C2;ListeModèles))*LIGNE(ListeModèles))

Code:
TROUVE(C2;ListeModèles)
renvoie une matrice contenant soit 1 soit #Valeurs qui indiquent pour CHAQUE ligne de ListeModèle si le 147 a été trouvé

Code:
ESTNUM(TROUVE(C2;ListeModèles)
renvoie une matrice Interne de Vrai ou Faux (Vrai si le 147 a été trouvé)

Code:
(ESTNUM(TROUVE(C2;ListeModèles))*LIGNE(ListeModèles))
on multiplie cette matrice par les numéros de lignes: on récupère donc une matrice de 0 (Faux*numéro de ligne=0)
et de numéro de lignes: (1*numéro ligne = Numéro de ligne)

Code:
*(A34=ListeIDMarques)*(D34>=ListeAnnéesStart)*(E34<=ListeAnnéesEnd)
on ajoute les conditions sur les IdMarque, les années de début et fin de construction

on en prend le max pour récupérer un seul numéro de ligne (attention..si plusieurs ID sont possibles.. on ne récupèrera que le dernier de la liste = celui dont le numéro de ligne est le plus grand)
--> si il y en a plusieurs.. il faudra voir pour utiliser Grande.valeur. plutot que Max

maintenant qu'on a le numéro de ligne (résultat de la colonne J), il faut qu'on récupère le numéro d'ID correspondant:
avec la fonction Index(Matrice, indice de ligne)
!! j'ai fait indice de ligne -1.. car il y a un décalage de 1 ligne

dans le cas ou la formule de la colonne J ne trouve rien. elle renvoie 0.. la fonction Index va donc retourner #Valeur
on enrobe tout ca d'un joli sierreur.. et voila !!
Simple non? ;-)
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 571
Messages
2 089 805
Membres
104 276
dernier inscrit
helenevellocet