Formule INDEX
Résolukitsounet Messages postés 52 Date d'inscription Statut Membre Dernière intervention -
- Virginie organise un rallye avec 30 équipes. elle veut créer un code pour désigner chaque équipe.elle a commencé à la main, mais elle voudrait le faire calculer automatiquement.trouvez ce qu'elle veut faire puis proposez une formule à recopier vers le bas dans la colonne a.quelle formule sera en a9 ?
- Formule somme excel colonne - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Formule si et - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Créer un compte google - Guide
8 réponses
Bonjour à tous,
Ton problème est assez complexe.
Une proposition en modifiant la ligne 1 pour coller au principe de fonctionnement de la fonction EQUIV, et visualisation par MFC. Il peut y avoir des erreurs de compréhension et/ou des cas non prévus.
À tester.
https://www.cjoint.com/c/LKwoEIjgr4E
Cordialement
Bonjour à tous,
Une proposition :
https://cjoint.com/c/LKvwrpJLPQY
Crdlmt
Bonjour,
Je vous remercie sincèrement,
Malheureusement ca ne fonctionne pas. Lorsque je rentre pour une personne de 30 ans NB 34, le score est NS est juste. En revanche, si je mets NB 21 le NS devrait être de 3 et le calcul m'indique 1 et parfois N/A.
La formule est complexe et je ne comprends absolument pas comment faire pour corriger cela.
Cordialement
Bonjour,
Essayez ceci : =RECHERCHEX(O2;E2:E20;A2:A20;"non trouvé";1;1)
Nb : si vous avez la version récente d'Excel.
Bien cordialement
Will
Bonjour,
Ca fonctionne pour l'âge, merci, j'ai également changé les âges étant donné que c'était < à ... donc inversé en mettant l'âge minimum au lieu de maximum. Donc ce problème n°1 est réglé.
En revanche, concernant les scores, si le chiffre est identique à celui d'une plage ca fonctionne parfaitement (exemple age 16, / NB 13 / NS 1. En revanche il s'agit de plages donc si NB = 14 ca devrait aller chercher la seconde ligne NS 2 qui va de 14 à 16.
Je vous joins le fichier avec votre formule, pourriez vous résoudre ce 2nd problème ?
https://cjoint.com/c/LKwlZSXV67e
Merci beaucoup
Bonjour,
essaye cette formule matricielle que tu devras confirmer en cliquant en même temps sur les trois touches du clavier
Ctrl, Schift et Entrée si tu fais bien la formule se placera entre ces accolades { }
=INDIRECT("A"&EQUIV(O2;INDIRECT(CAR(EQUIV(Q2;SUBSTITUE($A$1:$L$1;"<";"")*1;1)+64)&":"&CAR(EQUIV(Q2;SUBSTITUE($A$1:$L$1;"<";"")*1;1)+64));1))
et on en reparle
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionRe,
exact j'ai laissé trainer une référence remplace ma formule toujours en matricielle par
=INDIRECT("A"&EQUIV(O2;INDIRECT(CAR(EQUIV(MAX(SI(SUBSTITUE(B1:L1;"<";"")*1<=O1;SI(SUBSTITUE(B1:L1;"<";"")<>"";SUBSTITUE(B1:L1;"<";"")*1)));SUBSTITUE($A$1:$L$1;"<";"")*1;1)+64)&":"&CAR(EQUIV(MAX(SI(SUBSTITUE(B1:L1;"<";"")*1<=O1;SI(SUBSTITUE(B1:L1;"<";"")<>"";SUBSTITUE(B1:L1;"<";"")*1)));SUBSTITUE($A$1:$L$1;"<";"")*1;1)+64));1))
Re,
As tu testé la formule de mon post 9
tu peux également remplacer les syntaxe SUBSTITUE par DROITE ce qui raccourcira un peu la formule ce qui donne toujours en matricielle
=INDIRECT("A"&EQUIV(O2;INDIRECT(CAR(EQUIV(MAX(SI(DROITE(B1:L1;2)*1<=O1;SI(DROITE(B1:L1;2)<>"";DROITE(B1:L1;2)*1)));DROITE($A$1:$L$1;2)*1;1)+64)&":"&CAR(EQUIV(MAX(SI(DROITE(B1:L1;2)*1<=O1;SI(DROITE(B1:L1;2)<>"";DROITE(B1:L1;2)*1)));DROITE($A$1:$L$1;2)*1;1)+64));1))
Bonjour,
Je vous remercie infiniment, ca fonctionne presque. Il demeure ces petits problèmes :
- Le formule prend les colonne en considérant > à l'age renseigné (exemple : si mon patient a 19 ans, NB 15, il va chercher le score dans la colonne <18
- Dans la même logique, si mon patient à toujours NB 15, il prend >= au score indiqué au lieu de <= (exemple : il donne NS 1 au lieu de NS 2) car il s'agit toujours de scores < ou = a ce qui est indiqué.
La formule est sur le point de fonctionner mais sa complexité me dépasse et en tentant de légères modifications je l'empeche de fonctionner. Que dois je modifier pour corriger ces 2 petits détails ?
Merci infiniment
Rebonjour :
Nb : Supprimer les signes inferieurs sur les âges, les lignes vertes.
Essayer ceci : =SIERREUR(EQUIV(O2;DECALER(A1;19;EQUIV(O1;B1:L1;1);-19;1);0);"non trouvé")
dont
DECALER(A1;19;EQUIV(O1;B1:L1;1)) pour récupérer la plage de l'âge.
Bien cordialement
Will
Re,
regarde toujours en matricielle cette formule, si elle répond à tes attentes je regarderai dans la soirée voir de la simplifier.
Si ton tableau est appelé à comporter d'autres lignes, elles seront prise en compte automatiquement, par contre si les bornes du tableau sont définitives il est possible d'écourter la formule
=EQUIV(PETITE.VALEUR((B2:B20>=O2)*B2:B20;NB.SI(B2:B20;"<"&O2)+1);INDIRECT(CAR(EQUIV(MAX(SI(DROITE(B1:L1;2)*1<=O1;SI(DROITE(B1:L1;2)<>"";DROITE(B1:L1;2)*1)));DROITE($A$1:$L$1;2)*1;1)+64)&2&":"&CAR(EQUIV(MAX(SI(DROITE(B1:L1;2)*1<=O1;SI(DROITE(B1:L1;2)<>"";DROITE(B1:L1;2)*1)));DROITE($A$1:$L$1;2)*1;1)+64)&(MAX(EQUIV(9^9;INDIRECT(CAR(EQUIV(MAX(SI(DROITE(B1:L1;2)*1<=O1;SI(DROITE(B1:L1;2)<>"";DROITE(B1:L1;2)*1)));DROITE($A$1:$L$1;2)*1;1)+64)&":"&CAR(EQUIV(MAX(SI(DROITE(B1:L1;2)*1<=O1;SI(DROITE(B1:L1;2)<>"";DROITE(B1:L1;2)*1)));DROITE($A$1:$L$1;2)*1;1)+64)));EQUIV("z";INDIRECT(CAR(EQUIV(MAX(SI(DROITE(B1:L1;2)*1<=O1;SI(DROITE(B1:L1;2)<>"";DROITE(B1:L1;2)*1)));DROITE($A$1:$L$1;2)*1;1)+64)&":"&CAR(EQUIV(MAX(SI(DROITE(B1:L1;2)*1<=O1;SI(DROITE(B1:L1;2)<>"";DROITE(B1:L1;2)*1)));DROITE($A$1:$L$1;2)*1;1)+64))))));1)
Bonjour,
Malheureusement, le problème perdure. La formule prend la mauvaise colonne d'age et ne tient pas compte des tranches de performances.
Exemple : si le patient à 36 ans, il prend la colonne < à 35 au lieu de < à 45 et si le score est de 15 ca recupère bien la NS de 1 mais s'il est de 16, il devrait prendre la seconde ligne <= 18 et il ne traite pas le nombre 16 qui est pas renseigné dans le tableau.
Merci beaucoup pour votre aide
https://cjoint.com/c/LKwmPb4N6Re
Re,
ce que je ne comprends pas, suivant ton exemple,
si l'âge est 36, dans le tableau on prend la colonne G <45
jusque la c'est bon.
par contre si le NB est 15 colonne G correspond à 2 pas à 1
1 correspond à la colonne F <35
si le NB est 16 on prend 18 colonne G qui retourne 3 ou ou colonne F qui retourne 2
Ca fonctionne. Je ne sais comment vous remercier... Je n'y serai jamais parvenue sans votre aide.
Merci infiniment !!!
Bonjour,
Il y a quelques mois, vous m'aviez aidé pour une formule sur ce fil de discussion.
Aujourd'hui, j'ai tenté de créer un autre fichier identique mais ca dysfonctionne.
Le problème vient probablement du fait que cette fois ci, il y a également des mois de naissance (exemple : 6 ans = 6 ; jusqu'à 6 ans et 11 mois = 6,11) ce qui pose un problème majeur étant donné que par exemple 6,11 est considéré plus petit que 6,9 mois.
Pourriez vous à nouveau m'aider ?
https://www.cjoint.com/c/MBtvplC6yB4
En vous remerciant
Bonjour,
Oui c'est probablement un problème ces pseudo âges. As-tu moyen de changer cela ?
Cordialement
Bonjour,
Si ton problème est toujours d'actualité, une solution possible en remplaçant les âges 6,1 6,2 ... par 6,01 6,02 jusqu’à 6,11 :
https://www.cjoint.com/c/MBAuoDxAo18
Cordialement
Bonjour,
Je vous remercie sincèrement pour votre précieuse aide.
En vous souhaitant une belle journée,
Cordialement