Formules RechercheV imbriquées

aredo

XLDnaute Occasionnel
bonjour,

J'ai un souci avec l'argument recherchv. J'ai joint un fichier avec la description de ce que je souhaite.
Je ne connais pas assez bien excel pour imbriquer equiv, décaler etc... Peut-être, y a t' il plus simple.
Si quelqu'un peut me mettre sur une piste.

Merci au fofo
 

Pièces jointes

  • Formimbriq.xls
    113 KB · Affichages: 54

AL1976

XLDnaute Junior
Re : Formules RechercheV imbriquées

bjr,
voir fichier attaché.
pour l'instant on ne peut pas "tirer" la formule de la première case verte à la seconde, ce sont deux formules différentes.
mais je vais essayer d'améliorer et je renverrai le fichier.
cdlmt,
AL
 

Pièces jointes

  • Formimbriq.xlsm
    59.5 KB · Affichages: 41

Dranreb

XLDnaute Barbatruc
Re : Formules RechercheV imbriquées

Bonjour.
Donc j'ai trouvé pour I16 :
Code:
=EQUIV($A16;bis!$B$31:$AK$31;0)
et, non sans mal, pour les sets :
Code:
=DECALER(bis!$M$33;0;$I16+(1-MOD($I16;16)*2)/3)
Edit: Et encore, il y a une erreur formelle, bien que le résultat soit juste, c'est plutôt :
Code:
=DECALER(bis!$M$33;0;$I16-(MOD($I16;16)*2+1)/3)
 
Dernière édition:

aredo

XLDnaute Occasionnel
Re : Formules RechercheV imbriquées

bonjour Al76,

Super, ça fonctionne plutôt bien.
Je vais l'intégrer ds mon fichier et tester. Et surtout essayer de comprendre cette formulation.
Merci beaucoup pour cette approche.

Je viens de voir le message de Dranreb, merci à toi, je regarde et te redis. Je dois m'absenter.
merci à vous deux
 
Dernière édition:

AL1976

XLDnaute Junior
Re : Formules RechercheV imbriquées

attention ! dans ma solution, si on ajoutait des lignes au tableau situé en A15:H21 de l'onglet Feuil et des colonnes au tableau situé en A2:AV34 de l'onglet bis, ma formule ne fonctionnerait plus en ligne 22, 23 etc de l'onglet Feuil.
tandis que la solution de Dranreb avec la fonction MOD, probablement, si....
voilà, je voulais le préciser.
AL
 

Dranreb

XLDnaute Barbatruc
Re : Formules RechercheV imbriquées

Bonjour.
Si on tient à l'avoir dans une seule formule, il faut calculer deux fois EQUIV($A16;bis!$B$31:$AK$31;0) à la place de $I6 que j'avais compris comme étant intermédiaire en non devant recevoir le résultat définitif.
 

aredo

XLDnaute Occasionnel
Re : Formules RechercheV imbriquées

bonjour Dranreb,

Ça marche super avec une formule réduite. C'est top ! Je voudrai juste si tu peux m'expliquer ceci "MOD($I16;16)*2+1)/3" -
Autre chose. Dans "bis", si une des cellules B31; E31; R31; U31; AH31 ou AK31 n'est pas renseignée, j'ai un dièse N/A. Je voudrais un zéro à la place, ou du vide. Comment intégrer cette notion sans trop alourdir la formule?
merci encore pour ton savoir.

Avec MeFC, ça marche, mais si tu as autre chose, je suis preneur.

bon wkend
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Formules RechercheV imbriquées

Bonjour.

Donc. $I16 étant la position trouvée par l'EQUIV, ça en prend le reste de la division par 16, le multiplie par 2, y ajoute 1, et divise le tout par 3. ￾Ça donne 1 pour 1 et 3 pour 4. Retranché de ce 1 ou 4, ça donne 0 ou 1. Et pareil relativement pour tous les groupes de 16 colonnes suivants: 1 pour 17 et 3 pour 20, et retranché de ce 17 ou 20, ça donne 16 ou 17, etc.
Pour le second problème mettez :
Code:
=SI(ESTNA($I16);"";DECALER(bis!$M$33;0;$I16-(MOD($I16;16)*2+1)/3))
Si I16 est bien finalement la cellule où vous voulez le résultat final, remplacez bien sûr $I par la colonne intermédiaire où vous avez choisi de mettre le =EQUIV(etc. (car vous n'allez quand même pas le répéter 3 fois, ce coup ci, dans la formule ?…)
 

aredo

XLDnaute Occasionnel
Re : Formules RechercheV imbriquées

bonjour,

Merci pour les explications.
Voici donc la formule en I16 DECALER(J1!$M$33;0; EQUIV($A16;J1!$B$31:$AK$31;0) -(MOD(EQUIV($A16;J1!$B$31:$AK$31;0);16)*2+1)/3)

J'essaie d'intégrer SI(ESTNA.. mais il met tout à zéro ! Je dois oublier quelque chose! Qu'en pensez-vous?
bien à vous
 

Dranreb

XLDnaute Barbatruc
Re : Formules RechercheV imbriquées

Bonjour.
Moi je vous conseille de ne calculer qu'une fois EQUIV($A16;J1!$B$31:$AK$31;0) dans une colonne libre.
Sans cela vous êtes obligé de faire :
Code:
=SI(ESTNA(EQUIV($A16;'J1'!$B$31:$AK$31;0));"";DECALER(bis!$M$33;0;EQUIV($A16;'J1'!$B$31:$AK$31;0)-(MOD(EQUIV($A16;'J1'!$B$31:$AK$31;0);16)*2+1)/3))
 

Discussions similaires

Réponses
3
Affichages
395

Statistiques des forums

Discussions
312 241
Messages
2 086 526
Membres
103 242
dernier inscrit
Patoshick